new()
생성자 제약 조건을 사용하여 특정 형식의 생성자가있는 클래스를 요구하는 일반 메서드를 만드는 방법이 있습니까? 예를 들어C# 제네릭 메서드, new() 생성자 제약 조건 매개 변수
:이
나는 다음과 같은 코드가 있습니다
public T MyGenericMethod<T>(MyClass c) where T : class
{
if (typeof(T).GetConstructor(new Type[] { typeof(MyClass) }) == null)
{
throw new ArgumentException("Invalid class supplied");
}
// ...
}
그것이 가능이 대신 같은 것을 가지고? 이에 대해있다 a suggestion :
public T MyGenericMethod<T>(MyClass c) where T : new(MyClass)
{
// ...
}
편집
. C#에서이 기능을 사용할 수 있도록 투표하십시오!
조금 혼란 스럽습니다. 정확히 당신이 성취하려고하는 것은 무엇입니까? 생성자가 MyClass 매개 변수를 가져 오나요, 아니면 T를 MyClass로 제한합니까? –