C# 泛型类型中的强制转换异常 公共类里昂证券 T:在哪里上课 其中T1:class { 公共T GetEntity() { 返回(T)新的clsB(); } }
我收到错误无法将类型C# 泛型类型中的强制转换异常 公共类里昂证券 T:在哪里上课 其中T1:class { 公共T GetEntity() { 返回(T)新的clsB(); } },c#,generics,C#,Generics,我收到错误无法将类型clsB转换为T 请帮助这是因为T可以是任何东西--string,这将导致强制转换失败。如果T不能是变量类型,则不要将其包含在泛型参数列表中 如果要允许T成为clsB或任何子类型,并且要构造该类的实例,请执行以下操作: public class clsA<T, T1> where T : class where T1 : class { public T GetEntity() { return (T) new cl
clsB
转换为T
请帮助这是因为
T
可以是任何东西--string
,这将导致强制转换失败。如果T
不能是变量类型,则不要将其包含在泛型参数列表中
如果要允许T
成为clsB
或任何子类型,并且要构造该类的实例,请执行以下操作:
public class clsA<T, T1>
where T : class
where T1 : class
{
public T GetEntity()
{
return (T) new clsB<T1>();
}
}
公共类里昂证券
其中T:clsB,new()
其中T1:class
{
公共T GetEntity()
{
返回新的T();
}
}
然后,给定类型:
public class clsA<T, T1>
where T : clsB<T1>, new()
where T1 : class
{
public T GetEntity()
{
return new T();
}
}
公共类clsC:clsB{}
对类型为
clsA
的对象调用GetEntity()
将构造并返回clsC
的实例这是什么语言?你能给问题加上一个语言标签吗?
public class clsC : clsB<string> { }