0
我想創建一個接口'Something<T>
並想限制T
有一個int參數的構造函數。我可以做點像where : new()
。那爲什麼我不能讓它成爲where T : new(int)
?爲什麼我不能指定類型參數的構造函數限制:new()
我想創建一個接口'Something<T>
並想限制T
有一個int參數的構造函數。我可以做點像where : new()
。那爲什麼我不能讓它成爲where T : new(int)
?爲什麼我不能指定類型參數的構造函數限制:new()
您可以通過推遲T的實例化給用戶。喜歡的東西:
class MyTCreator<TParam, T>
{
private Func<TParam, T> generator;
public MyTCreator(Func<TParam, T> generator)
{
this.generator=generator;
}
public T CreateT(TParam param)
{
return generator(param);
}
}
,並使用你的類是這樣的:
var creator = new MyTCreator<long, DateTime>(ticks => new DateTime(ticks));
DateTime dt = creator.CreateT(12345L);
[這裏](http://blog.ryjones.org/2005/07/12/product-development/) –
因爲該功能未實現 –
因爲這不是非常通用的?你會在什麼時候停止?這個功能沒什麼意義。 – EkoostikMartin