fla*_*ayn 14 c# interface anonymous-class
我在方法中有以下代码:
var list = new[]
{
new { Name = "Red", IsSelected = true },
new { Name = "Green", IsSelected = false },
new { Name = "Blue", IsSelected = false },
};
Run Code Online (Sandbox Code Playgroud)
我想调用一个函数,它需要一个元素列表,每个元素实现一个接口(ISelectable).我知道如何使用普通类完成此操作,但在这种情况下,我只是尝试填写一些演示数据.
是否可以创建实现接口的匿名类?
像这样:
new { Name = "Red", IsSelected = true } : ISelectable
Run Code Online (Sandbox Code Playgroud)
ang*_*son 12
不,这是不可能的.
匿名类型在内部意味着是轻量级传输对象.您需要比小语法提供的功能更多的瞬间,您必须将其实现为普通的命名类型.
继承和接口实现,属性,方法,代码属性等等都是不可能的.
jbt*_*ule 12
开源框架即兴接口将允许您使用轻量级代理和DLR有效地执行此操作.
new { Name = "Red", IsSelected = true}.ActLike<ISelectable>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4890 次 |
| 最近记录: |