我想知道是否有一些内联短方法来创建实现接口(interface)的类。就像有匿名方法但有实现接口(interface)一样。

问题是:

interface iSomeInterface 
{ 
  void DoIt(); 
} 
 
public void myMethod(iSomeInterface param) 
{ 
 ... 
} 

我想这样使用它:

object.myMethod(new { override DoIt() { Console.WriteLine("yay"); } } : iSomeInterface); 

有什么想法吗?

抱歉,以防重复。

请您参考如下方法:

抱歉,C# 中没有类的内联实现。只有Anonymous Types ,但它们不支持添加接口(interface)(例如 Can a C# anonymous class implement an interface? )(也不支持添加方法或字段......它们只支持属性)。

您可以使用System.Reflection.Emit的方法在运行时生成一个类,但它又长又乏味。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!