1
3
由于问题的目的是使用lambda表达式,因此这里有一个解决方案。通过使用弱类型而不是建议的强类型,它采用了不同的路径,但是仍然可以完成相同的事情。
编辑 :此松散类型有效,因为lambda参数v的数据类型属于结构本身,不是可为空的类型包装器。显然,当调用方使用的可空值到达lambda参数并且lambda参数显示一个结构值或空值时,它已经被解析或“解包”;此时(或在我能找到的范围内)看不到可空包装器。这种行为可以通过在lambda中的v处放置调试断点并检查其值来证明。 这种行为的好的副作用是lambda对于可以为空的类型和不可以为空的类型都同样有效——这是不受限制的。 |
2
1
您可以在对象上创建一个扩展方法来进行转换,而不是使用泛型。 这是一个示例程序。TodbObject扩展执行以下转换:
以上印刷品:
这两种情况都处理得很好。 |
3
1
我认为您可以通过创建一个委托工厂方法来实现这一点,您可以在其中指定泛型类型参数:
您可以在示例中使用它,如下所示:
|
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |