我有以下的接口和类: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