泛型变量怎么传递?
src是类Player中的泛型属性,定义如下:
C# code
class Player<TSRC>
where TSRC : int, float
{
public static TSRC src
{ get; set; }
}
在类myC中,我需要使用src的值,所以在构造时传递进去,代码如下:
C# code
class 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);