我经常觉得必须实现一个接口是非常分心的,因为我需要一次方法调用.我必须在其他地方创建一个类,实现接口等.
Java有一个名为Anonymous Classes的功能,允许用户实现"内联"接口.我的问题是:你能想到用C#在现有语法中完成类似事情的最好方法是什么(我意识到"最好"是主观的).我正在寻找好的语法,不一定是性能.
我在C#中将以下内容实现为POC :
特定
interface IFoobar
{
Boolean Foobar(String s);
}
IFoobar foo = Implement.Interface<IFoobar>(new {
Foobar = new Func<String, Boolean>(s => s == "foobar")
});
Run Code Online (Sandbox Code Playgroud)
这使用匿名对象和一些反射/发射来实现IFoobar接口(忽略属性,泛型方法和重载).但是,我不是这些new Func<...>东西的粉丝,但离不开它们.
环顾四周,我注意到了一个名为Impromptu Interface的库,但是它的语法并没有给支持方法留下深刻的印象.
有一种"更好"的方式吗?
编辑:我不是在寻找Java与C#的火焰战争.