所以我找到了很多关于是否可以以及为什么可以在抽象类中定义构造函数的问题的答案。
我目前正在尝试在具有类型参数的抽象类中提供参数化构造函数:
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/