如何使用Visual Studio 2008/Resharper重构/自动化Mixin模式?

4
我有Visual Studio 2008和Resharper,想知道是否有任何重构功能可以让您创建一个类并将成员变量用作mixin?
举个简单的例子,很多时候,您可能想要实现特定接口并使用已经存在对象(如列表)的95%底层代码,是否有任何方式可以轻松地自动连接这些方法?(假设我想使用功能的类是SEALED,并且继承它并覆盖方法不是选项。)
class CustomList : IList<string>
{
    List<string> m_list

    void Add(string val){  m_list.Add(val) }
    void Delete(string val){  m_list.Delete(val) }
    ....etc
}

1
这是一种提取装饰器类型的模式,不是吗? - Preet Sangha
我认为这只是被视为组合或更常见的混入。模式本身并不是问题,而是自动将内部对象的方法直接重新连接到组成对象的接口。 - mrwayne
是的,它也被称为“装饰器”设计模式。 - Andrei Rînea
1个回答

5
您可以通过使用 Alt-Insert(生成代码)快捷键来完成。在弹出窗口中选择 委托成员,它将打开一个对话框,在其中您可以选择您想要的方法。
请确保在选择“实现接口”之前执行此操作,否则将会出现重复的方法,从而导致编译错误。 alt text

太棒了!我能够使用这些信息以及http://www.jetbrains.com/resharper/webhelp/Code_Generation__Delegating_Members.html来生成一个适配器到一个静态类! - Andrei Rînea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接