泛型变量如何传递
泛型变量怎么传递?src是类Player中的泛型属性,定义如下:C# codeclass PlayerTSRCwhere TSRC : int, floa
泛型变量怎么传递?
src是类Player中的泛型属性,定义如下:
C# codeclass Player<TSRC> where TSRC : int, float { public static TSRC src { get; set; }}
在类myC中,我需要使用src的值,所以在构造时传递进去,代码如下:
C# codeclass myC{ public myC(TSRC _src)//编译错误 { }}
出现编译错误:错误 未能找到类型或命名空间名称“TSRC”(是否缺少 using 指令或程序集引用?)
对泛型的用法不太熟悉,这里应该怎么写呢?还有别的更简洁的办法吗?谢谢指教!
[解决办法]或者也可以这样
class myC
{
public myC<T>(T _src) where T : class
{
}
}
可以在方法上定义泛型,where 后面约束该类型必须是一个引用类。
[解决办法]T和TSRC是一样的,都只是一个泛型的标识符而已。关键在于声明实例的时候就要指定类型
myC<int> myc;
myc = new myC<int>(src);