0
|
the_drow · 技术社区 · 14 年前 |
![]() |
1
1
你可以试试 Duck Typing Extensions 为温莎。这意味着你需要注册你的每一种类型。
或者在短期内创建一个工厂,它可以返回您需要的对象,为每种类型实现一个具体的对象。不,您使用的是接口,您可以稍后删除工厂并用其他影响最小的东西替换它:
不管你是如何实现包装器的,你都可以独立地或者使用一个类似上帝的类,这样你就可以改变包装的方式,并保持代码的其余部分干净。 |
![]() |
2
1
为什么要用typewrapper而不是objectwrapper?
|
![]() |
3
0
编辑 那样的话,我个人会选择奥索的解决方案。
因为直到运行时你不知道这些类型的类型,所以我不会使用MIXIN,而是访问者模式(我知道这并不能回答如何使用Mixin的问题,但我只是想把我的2分钱扔掉)。 见 Bradley Grainger's post here 使用c#4的动态关键字实现访问者模式。 在您的例子中,从字典中读取某个类型的所有“Value”属性的工作方式如下:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |