如何在没有接口的情况下模拟多重继承?

kof*_*cii 3 c# design-patterns coding-style

如何在不使用接口的情况下模拟C#中的多重继承.我相信,接口能力不适用于此任务.我正在寻找更多'设计模式'导向的方式.

Rom*_*her 5

就像Marcus说的那样使用界面+扩展方法制作类似mixins的东西可能是你目前最好的选择.

另请参阅:使用Bill Wagner创建具有接口和扩展方法的Mixins 示例:

using System;

public interface ISwimmer{
}

public interface IMammal{
}

class Dolphin: ISwimmer, IMammal{
        public static void Main(){
        test();
                }
            public static void test(){
            var Cassie = new Dolphin();
                Cassie.swim();
            Cassie.giveLiveBirth();
                }
}

public static class Swimmer{
            public static void swim(this ISwimmer a){
            Console.WriteLine("splashy,splashy");
                }
}

public static class Mammal{
            public static void giveLiveBirth(this IMammal a){

        Console.WriteLine("Not an easy Job");
            }

}
Run Code Online (Sandbox Code Playgroud)

打印splasshy,splashy不是一件容易的事