类型参数化抽象类的 C# 构造函数

标签 c# constructor abstract-class type-parameter

所以我找到了很多关于是否可以以及为什么可以在抽象类中定义构造函数的问题的答案。

我目前正在尝试在具有类型参数的抽象类中提供参数化构造函数:

public abstract class Cell<T>
{
    int address;
    T value;

    protected Cell<T>(int address, T value)
    {

    }
}

但是 c# 只是拒绝它,Intellisense 完全崩溃了。 那么,为什么可以在抽象类中拥有构造函数,但一旦抽象类获得类型参数,一切都拒绝它?

最佳答案

删除 <T>从构造函数声明然后一切都会起作用。例如,这编译得很好:

public abstract class Cell<T>
{
    int address;
    T value;

    protected Cell(int address, T value)
    {

    }
}

public class CellInt : Cell<int>
{
    public CellInt(int address, int value): base(address, value) { }
}

关于类型参数化抽象类的 C# 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40710263/

相关文章:

c# - Vector3.Lerp 和 Unity 中的代码

c# - 如何仅向应用程序添加系统托盘图标?

LINQ 和动态继承的 C# 编译错误

c++ - 概念与复制构造函数冲突的泛型编程

java - 传递接口(interface)和重新加载类之间的性能差异

c# - CRM 中不同数据类型的计算

c++ - 什么需要在构造函数中,什么需要在 setter 函数中?

class - 通过类变量构造对象总是需要父类有构造函数吗?

java - Java中带有全局变量的抽象类没有设置?

python - 强制子类编写文档字符串