Cor*_*ort 3 c# generics constructor
我试图在开放泛型类型上创建,其中有一个构造函数可供派生类型使用,但我要么不知道如何操作,要么不可能 - 不确定哪个.
public struct DataType<T> : IDataType {
private T myValue;
private TypeState myState;
internal DataType<T>(T initialValue, TypeState state) {
myValue = initialValue;
myState = state;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢!
科特
编辑:构造函数最初发布为私有,这是错误的,应该受到保护.但是 - 结构中不允许保护,因此我将其更改为内部.
构造函数没有泛型参数,就像可以使用T但不是通用的类的任何常规方法一样.
public class DataType<T> : IDataType {
private T myValue;
private TypeState myState;
protected DataType(T initialValue, TypeState state) {
myValue = initialValue;
myState = state;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,不能继承结构,并且不能通过继承类来调用私有构造函数.改变这两个,以使其工作.