有这样的类我可以在适当的地方实例化它吗?
abstract class Mammal {
public abstract void Foo();
}
我希望这样的事情应该有效:
Mammal wolf = new Mammal() {
public void Foo() { Console.WriteLine("Wooo"); }
}
但是编译器不允许这样做。
最佳答案
看起来您正在寻找类似于 Java 中的匿名内部类的东西。 C# 中没有等效项。选项:
- 创建一个嵌套类。
- 为每个抽象方法创建一个使用委托(delegate)的实现,然后使用匿名函数“内联”创建这些实现
- 如果类型只包含一个抽象方法,考虑使用委托(delegate)而不是抽象类作为开始。
关于c# - 是否可以实例化提供其余实现的抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9890504/