Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何(VisualStudio2008/Resharper)重构/自动化混合模式_Visual Studio 2008_Refactoring_Resharper - Fatal编程技术网

Visual studio 2008 如何(VisualStudio2008/Resharper)重构/自动化混合模式

Visual studio 2008 如何(VisualStudio2008/Resharper)重构/自动化混合模式,visual-studio-2008,refactoring,resharper,Visual Studio 2008,Refactoring,Resharper,我有带Resharper的VisualStudio2008,有人知道有没有重构可以让你说创建一个类并使用一个成员变量作为mixin 作为一个基本的例子,很多时候您可能想要实现一个特定的接口,并使用一个已经存在的对象(如列表)的95%的底层代码,有没有办法轻松地自动连接这些方法?(假设我想从中使用功能的类是密封的,并从中继承,并且重写方法不是一个选项 class CustomList : IList<string> { List<string> m_list

我有带Resharper的VisualStudio2008,有人知道有没有重构可以让你说创建一个类并使用一个成员变量作为mixin

作为一个基本的例子,很多时候您可能想要实现一个特定的接口,并使用一个已经存在的对象(如列表)的95%的底层代码,有没有办法轻松地自动连接这些方法?(假设我想从中使用功能的类是密封的,并从中继承,并且重写方法不是一个选项

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
}
类自定义列表:IList
{
列表m_列表
void Add(string val){m_list.Add(val)}
无效删除(字符串val){m_list.Delete(val)}
等
}
您可以通过Alt Insert(Generate code)快捷键执行此操作。在弹出窗口中选择委派成员,它将打开一个对话框,您可以在其中选择所需的方法

请确保在选择“实现接口”之前执行此操作,否则将导致重复的方法,从而导致编译错误


这是一种提取装饰器类型的模式,不是吗?我相信它只是被认为是组合模式,或者更常见的称为混合模式。模式本身不是问题,它会自动将内部对象方法直接重新连接到组合对象接口。是的,它也被称为
装饰器
设计模式cellent!为了生成一个静态类的适配器,我可以使用此信息和!