【发布时间】:2015-03-20 15:31:20
【问题描述】:
我想为我的 T 指定所需的默认构造选项:
public interface IParameter<T> /* where T : T(string) */ {
T Value { get; set; }
}
所以我可以从给定的字符串构造它,如果可以这样传递:
Value = "bla";
或者至少是这样的:
Value = new T("bla");
那么如何在 C# 泛型中指定可以从字符串构造的 T 呢?
【问题讨论】:
-
string不能被子类化,那么首先使它成为通用的有什么意义呢? -
@JeroenVannevel:这不是关于子类化,而是关于任意类型
T具有接受string参数的构造函数。 -
任何 T 都有 ToString(地址、时间、网址等),许多此类类型都可以从字符串构造。
-
啊,所以它是关于一个将字符串作为参数的构造函数?因为这与第一次展示的用法完全不同。
-
这似乎是XY Problem。
标签: c# .net generics constraints .net-4.5