c# – 如何在开放泛型类型中定义构造函数?
发布时间:2020-12-16 01:39:55 所属栏目:百科 来源:网络整理
导读:我试图在开放的泛型类型上创建,它有一个构造函数供派生类型使用,但我要么不知道怎么做,要么不可能 – 不确定哪个. public struct DataTypeT : IDataType { private T myValue; private TypeState myState; internal DataTypeT(T initialValue,TypeState stat
我试图在开放的泛型类型上创建,它有一个构造函数供派生类型使用,但我要么不知道怎么做,要么不可能 – 不确定哪个.
public struct DataType<T> : IDataType { private T myValue; private TypeState myState; internal DataType<T>(T initialValue,TypeState state) { myValue = initialValue; myState = state; } } 任何帮助非常感谢! 科特 编辑:构造函数最初发布为私有,这是错误的,应该受到保护.但是 – 结构中不允许保护,因此我将其更改为内部. 解决方法
构造函数没有泛型参数,就像可以使用T的类的任何常规方法一样,但也不是通用的.
public class DataType<T> : IDataType { private T myValue; private TypeState myState; protected DataType(T initialValue,TypeState state) { myValue = initialValue; myState = state; } } 请注意,不能继承结构,并且不能通过继承类来调用私有构造函数.改变这两个,以使其工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |