我的一位同事在一個內部論壇上發佈了一個問題,這讓我想到了這是否可以通過C#來實現。基本上,他有一個界面如下:訪問內部類型
public interface IProvider<T>
{
T GetT();
}
是否有可能使用一些實現該接口的類型參數到另一個泛型類,並有機會獲得T型,而無需重新指定呢?例如:
public class Foo<P> where P : IProvider<T>
{
P p;
T GetInnerT() { return p.GetT(); }
}
這並不編譯,因爲類型T沒有定義,因此不能被用作用於IProvider
參數。這是甚麼可能嗎?只是好奇!