Eclipse允许我们将类定义为:
interface MyInterface {
void methodA();
int methodB();
}
class A : MyInterface {
MyInterface myInterface;
}
然后使用“Generate delegate methods”,它将实现接口所需的所有方法,将其逻辑重定向到myInterface的方法:
class A : MyInterface {
MyInterface myInterface;
public void methodA() {
myInterface.methodA();
}
public int methodB() {
return myInterface.methodB();
}
}
VS2010可以实现相同的目标吗? 和R#?
由于
答案 0 :(得分:5)
使用Resharper,你可以做到这一点。
http://www.jetbrains.com/resharper/features/code_generation.html
生成委派成员
委托成员提供了一种通过类自己的接口封装某些行为或发布类字段方法的方法。指定字段及其方法,ReSharper将在当前类中生成包装方法。
这是我们一直使用的一项很棒的功能。有几种方法可以访问它,但我所做的是点击ALT-INS
,它会调出Generate
上下文菜单。列表中的一些项目是Delegating members
。然后,您将获得一个树,您可以从中选择要委派的字段(对象)以及要创建的委派属性/方法。非常快速和简单,效果很好。