나는 불가능을 달성하려고 노력하고 있습니까? 아니면 단순히 불필요한가요? GetList의 코드는 전문화의 새 인스턴스를 만드는 비트를 제외하고 클래스 A의 모든 전문화에 대해 동일합니다. 기본 생성자는 없으며 항상 동일한 매개 변수 목록이 있습니다. 순간이 변형은 C# Generics에서 가능합니까?
내가 사용하고 대신 public static List<A> GetList(int i, Func<A> createMeAnInstance)
더러운 느낌이있다.
abstract class A
{
protected A (int i)
{
}
public static List<T> GetList<T>(int i) where T : A
{
var list = new List<T>();
for(int x = 1; x< 100; x++)
{
var o = new T(i);
list.Add(o);
}
}
}
public class B : A
{
public B (int i) : base(i) {}
}
...
var list = A.GetList<B>(1);
은 내가 많은 인스턴스를 만들 때 Func가되어야합니다. –
이유를 설명 할 수 있습니까? –
잘 GetList (Func 코드) 또는 GetList (A 대답) 말하는거야? 후자는 나를 위해 일하지 않는다 –