c# - 是否可以实例化提供其余实现的抽象类?

标签 c# java

有这样的类我可以在适当的地方实例化它吗?

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/

相关文章:

c# - Strawberry Shake 代码生成无法解析类型引用 'None:Any'

java - 如何在 selenium 中抛出自定义异常而不是 NoSuchElementException

java - Spring 安全: How to Return 503 Service Unavailable?

java - Maven 没有看到我在单元测试中使用的一些文本文件

java - 如何在 java 中创建和显示随机数数组列表?

c# - Web异常: The request was aborted: Could not create SSL/TLS secure channel

c# - 显示数字签名/证书对话框

java - 如何计算Android中4个EditText的最小值?

c# - 我可以将键盘快捷键转发到停靠在 WPF 窗口中的 lync 对话窗口吗

c# - 领域类应该如何设计?