그래서 같은 종류의 클래스이다 일반적인 매개 변수 T 허용하는 기능이 있습니다.NET 일반 콜 <T>
public Func<T, bool> MyMethod<T>(string paramName, object value) where T : class
그러나 함수를 호출 할 때 I가 필요로하는 클래스에 직접 액세스 할 필요는 없습니다 매개 변수가됩니다.
MyMethod<foo>("foo1", "foo2")
내가 기능을 사용할 수 있도록 반사와 같은 다른 수단을 통해 클래스 foo
을 얻을 수있는 방법이 있나요?
UPDATE :
매개 변수 값이 나는 통과 ... 그래서 내가 객체가 필요 그 이유는 즉, T 값이 이해가되지 않습니다 값과 같은 경우 특히이 방법은 LINQ와 검사를 통해 람다 식을 수행 유형. 또한 내 진짜 문제는 내가 뭔가를 할 수 없다는 것입니다.
MyMethod<fooInstance>("foo1","foo2")
및 클래스보다는 참조 형식을 가져와야합니다.
object o = Activator.CreateInstance(Type.GetType(Assembly.GetExecutingAssembly().GetName().Name + ".Foo"));
MyMethod<o.getType()>("foo1","foo2");
왜 당신이 템플릿 방식의 클래스 정보를 얻을해야합니까? 필요한 경우 템플릿 요구 사항을 포괄하는 인터페이스를 사용하거나 템플릿을 사용해서는 안됩니다. – gilbertc