6
|
RandomProgrammer · 技术社区 · 14 年前 |
![]() |
1
1
我猜你的警告是由车主参数引起的,而不是汽车。在WithOwner方法中添加一个先决条件,以检查owner是否为null。
在您的第一个代码示例中,您使用了“Jim”硬编码,因此没有问题,因为不存在可以为null的内容。 在第二个示例中,您创建了一个静态编译器无法证明源代码(作为所有者)“永远不会为null”的方法,因为其他代码可能会使用无效值来调用它。 |
![]() |
2
0
我想知道你是如何用扩展方法编译代码的,因为你不知道
/金伯利进程 |
![]() |
3
0
您的代码片段可能没有完全描述您正在使用的代码。 考虑这个片段,而不是:
在这种情况下,运行时可能会抱怨您提到的警告,但它不会抱怨
通过确保扩展方法的结果不为null,可以满足运行时的要求:
这份合同应该没问题,因为
|
![]() |
4
0
我们在几次发布后修复了这个问题。该警告是由于Linq表达式构造等方面缺少一些约定。Linq表达式方法有约定,C#编译器生成调用这些方法的代码。如果我们对调用的方法没有足够的post条件,那么您可能会得到这些关于代码的神秘警告,而您甚至不知道这些代码是否存在(除非您使用ILdasm)。 |
![]() |
Rm558 · 是否可以更改XML类型上的LINQPad代码生成? 6 年前 |
![]() |
MJK · 规范模式-使用ICollection实现表达式 7 年前 |
![]() |
Roland Ebner · 为实体框架多对多关系构建表达式树? 7 年前 |