如何在不使用接口(interface)的情况下在 C# 中模拟多重继承。我确实相信,接口(interface)能力不适用于此任务。我正在寻找更多面向“设计模式”的方式。
最佳答案
正如 Marcus 所说,使用接口(interface) + 扩展方法来制作类似 mixin 的东西可能是你目前最好的选择。
另见:Create Mixins with Interfaces and Extension Methods by Bill Wagner 示例:
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");
}
}
打印 泼辣的,泼辣的 不是一件容易的事
关于c# - 如何在没有接口(interface)的情况下模拟多重继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849097/