6
|
Anthony Waqas Raja · 技术社区 · 16 年前 |
1
5
将使编译器执行以下操作:
区别在于不可能存在任何同步问题。变量x get一次分配了完全分配的BaseDataObject,在初始化过程中不能弄乱该对象。 您可以在创建对象后调用扩展方法:
或者,您可以子类化/使用facade模式将方法添加到对象中:
|
2
4
不,但你可以这样做
让您的扩展像Linq一样返回对象。 编辑:这是一个很好的想法,直到我重新阅读并看到基类是由第三方开发的:也就是说,你没有代码。这里的其他人发布了正确的解决方案。 |
3
3
更好的是:
并且,您可以对BaseDataObject的派生类型使用此扩展方法来链接没有强制转换的方法,并在推断到var字段或匿名类型时保留真实类型。 |
4
1
|
5
0
扩大a类的可能性吗?然后,您可以轻松添加所需的属性。 如果做不到这一点,您可以创建一个具有类似属性的新类,只需回调您感兴趣的类的私有实例即可。 |
6
0
不 "
我创建了一个子类,例如。
它在LINQ中运行良好,初始化块看起来像
在代码的其余部分中,我忽略了子类并使用了扩展方法:
|
Imad · Linq扩展方法没有使用Object类的Equals 1 年前 |
user8512043 · 根据每个元素中的数字对列表进行排序 2 年前 |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |