我有以下的接口和類: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>
。
不幸的是,我完全陌生,所以任何幫助將感激地讚賞。謝謝!
編輯
我試圖做到的,是類似如下(不會編譯)
public void SetB(B<T> Type)
{
//Do stuff...
}
所以我可以通過C或d該方法。
你目前沒有編譯的東西,所以很難理解你想要做什麼。你可以請更新你的問題,以便你的代碼編譯,然後添加一個快速的僞代碼片段,解釋你正在嘗試做什麼? –
由於'乙''是ITYPE ',是 「'乙'或'ITYPE '」 相當於是'ITYPE ',那麼什麼是錯的只是使用'ITYPE '作爲你的參數類型? –
fuglede
@DavidL謝謝,更新了我的問題 – Nordrassil