으로 내가 인터페이스와 클래스 다음있어 :C# 제네릭 형식 매개 변수
public abstract class A {}
public abstract class B<T> : IType<T>
{
public T Value { get; set; }
}
public interface IType<T>
{
T Value { get; set; }
}
public class C : B<String>, IType<String> { }
public class D : B<Int32>, IType<Int32> { }
어떻게 C 또는 D는, 메소드 매개 변수로 전달할 수 A
를 사용하지 않고? 매개 변수 유형은 IType<T>
또는 B<T>
이어야합니다.
불행히도 generics에 대한 새로운 내용이 있으므로 도움을 주시면 감사하겠습니다. 감사!
편집
내가 달성하기 위해 노력하고있어 나는 그 방법으로 C 또는 D를 통과 할 수 있도록 다음 (컴파일되지 않습니다)
public void SetB(B<T> Type)
{
//Do stuff...
}
같은 것입니다.
현재 컴파일하지 않은 내용이 무엇인지 이해하기가 어렵습니다. 코드를 컴파일 할 수 있도록 질문을 업데이트 한 다음 할 일을 설명하는 빠른 의사 코드 스 니펫을 추가 할 수 있습니까? 'ITYPE'인 "'B '또는'ITYPE '"'B '이기 때문에 –
가되고 동일합니다'' ITYPE, 그래서 단순히 매개 변수 유형으로'ITYPE 을'사용하여 어떤 문제가 있습니까? –
fuglede
@DavidL 감사합니다. 내 질문을 업데이트했습니다. – Nordrassil