小编Jar*_*Par的帖子

通用Linq订购功能?

我希望能够传入一个Func <T,?>,它允许我精确地选择如何对项目列表进行排序......我遇到的问题是返回类型可能会有所不同......所以例如我想要做这样的事情(不是生产代码):

Func<POline, string> poLineOrder
if (option) poLineOrder = poline => poline.PartNumber;
else poLineOrder = poline => poline.LineOrder;
var orderedLines = poLines.OrderBy(poLineOrder);
Run Code Online (Sandbox Code Playgroud)

这里的问题是,虽然PartNumber是一个字符串,但LineOrder是一个int,并且此代码不能编译.我有一种感觉,我将不得不构建一个表达式(?),但我似乎无法正确的语法.

(是的,我可以通过使用poline.LineOrder.ToString("D10")解决这个问题,但我在这里问更一般的问题...谢谢!)

-mdb

c# linq lambda

5
推荐指数
1
解决办法
2120
查看次数

鼠标悬停,工具提示多次显示

我有一个自定义控件(C#,visual studio).我想在mousehover事件上显示工具提示.

但是,无论我做什么,它要么从未显示,要么有机会多次显示.

我认为它会像下面这样简单:

private void MyControl_MouseHover(object sender, EventArgs e)
{
    ToolTip tT = new ToolTip();

    tT.Show("Why So Many Times?", this);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我尝试了很多东西,但似乎无法让它发挥作用.我想让工具提示成为组件的一部分,因为我想从中访问私有字段以供显示.

谢谢你的帮助

c# tooltip mousehover

5
推荐指数
1
解决办法
5631
查看次数

每个MSDN的OrderByDescending(),这究竟是什么意思?

有人可以帮忙分开这里的元素,帮助我理解它们是什么吗?

public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(
    this IEnumerable<TSource> source,
    Func<TSource, TKey> keySelector
)
Run Code Online (Sandbox Code Playgroud)

什么是TSource和TKey?什么是keySelector?什么是IOrderedEnumerable?

Func <>做什么?

为什么MSDN如此神秘?

c# linq msdn linq-to-sql

5
推荐指数
1
解决办法
6568
查看次数

GDB 回溯中的“this”指针变化

我正在检查核心转储,并注意到在一帧中的“this”指针与下一帧(在同一线程中)不同。不仅仅是有点不同,它从 0x8167428 变为 0x200。

我不太熟悉使用 GDB,但这对我来说似乎不正确。这是否有问题,如果有,可能是什么原因?

c++ debugging gdb

5
推荐指数
1
解决办法
3659
查看次数

C#Regexp:如何从匹配中提取$ 1,$ 2变量

目前.NET使用他们自己的非标准捕获组命名约定,这是一种狗.我想在C#中启用标准使用$ 1,$ 2捕获组.

他们的任何方式,或者如果没有,是他们可以使用的任何第三方正则表达式引擎,它们实现了这种功能.

.net c# mono c#-3.0

5
推荐指数
1
解决办法
1万
查看次数

我可以在针对.Net 3.5的项目中使用所有C#4.0功能吗?

开发环境: - VS2010 - .Net Framework 4.0,3.5,2.0

分段和生产环境: - .Net Framework 3.5,2.0

我正在研究的项目是针对.Net Framework 3.5.今天我在这个项目中使用了可选参数功能,这是C#4的新功能,它工作正常.我认为VS2010正在使用C#4编译器,并且正在使用可选参数将该方法编译为IL中相应的重载方法.

我想知道我是否也可以使用所有新的C#4功能.

c# visual-studio-2010 visual-studio c#-4.0

5
推荐指数
1
解决办法
397
查看次数

调试.NET中的Invoked函数

我使用Reflection(Method.Invoke)在.NET中调用函数.如果在此方法中发生错误并引发异常,则调试器不会显示实际代码,而是在Invoke()调用时停止.我可以从InnerException中检索异常信息,但与使用callstack的常规调试等相比,这非常不方便.可以像使用常规函数调用一样调试使用Method.Invoke调用的方法吗?

.net reflection debugging invoke visual-studio

5
推荐指数
3
解决办法
2344
查看次数

VS2010调试器中没有调用堆栈

我有一个加载DLL的应用程序,随后崩溃.我将IDE的工作目录修改为解决方案构建目录,以便我可以在构建的DLL上运行调试器,该DLL是从此解决方案中的另一个项目构建的.当应用程序获得访问冲突时,我可以看到当前函数,但没有调用堆栈,并且没有任何本地人会评估.我已经检查过这个目录中有调试器符号,它都是在调试模式下构建的.可能是调试器失败的原因是什么?

编辑:如果我放置一个断点,那么调试器工作正常 - 当然,这仍然没有告诉我为什么应用程序崩溃,但我得到一个调用堆栈,所有符号将愉快地评估.

c++ debugging visual-studio-2010 visual-studio

5
推荐指数
1
解决办法
1844
查看次数

MSTEST-断言失败后继续

我想知道在断言失败之后是否有一种简单的方法来完成测试。我们曾经使用Galileo进行所有自动化测试,但是我们已经移走了Visual Studio Test框架。我们有一种方法可以使测试失败,但可以继续进行。

        public static bool DoAssertAndContinue(Action assert)
    {
        try
        {
            assert();
            return true;
        }
        catch (AssertionException ae)
        {
            ConfigContext.WriteLine(ae.Message);
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我们之前使用过的...它将被这样称呼:

assertionResults.Add(Automation.Utils.CommonMethods.DoAssertAndContinue(() => Assert.IsTrue(detail.ValidateName(boo, urns))));
Run Code Online (Sandbox Code Playgroud)

我只是试图找出最好的方法来模拟我们以前所拥有的,而不必重构所有测试。

mstest visual-studio-2010 visual-studio

5
推荐指数
1
解决办法
5846
查看次数

VB.Net Linq到实体空比较 - '什么都不是'或'=什么都没有'?

我们在VB.Net中有几个项目,使用.Net Framework 4和Linq to Entities来处理我们的许多SQL查询.迁移到EF对我们来说是一个新的转变(已经使用了大约4-6个月),并得到了高层管理人员的支持,因为我们可以更快地编写代码.我们仍然使用很多存储过程,但我们甚至也通过Linq到实体执行这些过程.

我希望清除一些混乱,我找不到一个有意义的直接答案.我们有一些查询,我们想要特定字段具有NULL值的记录.这些是简单的选择查询,没有聚合或左连接等.Microsoft建议查询看起来像这样的MSDN链接:

dim query = from a in MyContext.MyTables
Where a.MyField = Nothing
Select a
Run Code Online (Sandbox Code Playgroud)

我有几个项目,我正是这样做的,它工作得很好,在IDE中没有警告.最近,另一个开发人员创建了一个新项目,当他像上面那样进行空检查时,我们都在IDE中收到此警告:

警告1此表达式将始终计算为Nothing(由于equals运算符的空传播).要检查值是否为null,请考虑使用"Is Nothing".

比较项目,每个都有选项显式和选项严格.如果我们忽略警告,我们会在应用程序运行时获得我们正在寻找的确切记录集.如果我将=符号更改为IS,则警告消失.但为什么这个警告出现在一个项目而不是其他项目?即使在MSDN上也有使用equals运算符的例子,这令人困惑.

vb.net linq-to-entities nullable nothing vb.net-2010

5
推荐指数
2
解决办法
1万
查看次数