동료 중 한 명은 내부 포럼에 질문을 게시하여 C#을 통해 가능했는지 여부를 생각해 보았습니다. 다음과 같이 기본적으로, 그는 인터페이스를 가지고 :내부 유형에 대한 액세스
public interface IProvider<T>
{
T GetT();
}
가 다른 일반적인 클래스 타입의 매개 변수로 해당 인터페이스를 구현하는 것을 사용하고 다시 지정하지 않고 타입 T에 액세스 할 수 있습니까? 예 : T 형이 정의되어 있지 않기 때문에
public class Foo<P> where P : IProvider<T>
{
P p;
T GetInnerT() { return p.GetT(); }
}
이것은 컴파일하지 않고, 따라서 IProvider
위한 파라미터로 사용될 수 없다. 이 같은 것이 가능한가? 그냥 궁금해서! -이 선언의 일부는 사실
public class Foo<P, T> where P : IProvider<T>
달리 인식하는 IProvider<T>
제약에 대한 T
가 없습니다 :