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