public static int GetResult<TType>(TType aObject) {
if(aObject.mValue==12)
return 99;
return 20;
}
我如何检查字段“类型的值”,我猜想可能是反射,但是不确定如何?
谢谢。
最佳答案
当您要保留强类型和编译时安全性时,泛型很有用。如果您要求助于Reflection,则无需使用泛型。因此,一种方法是定义一个包含此属性的接口或基类:
public interface IFoo
{
int Value { get; set; }
}
然后对类型进行一般约束:
public static int GetResult<TType>(TType aObject) where TType: IFoo
{
if(aObject.Value == 12)
{
return 99;
}
return 20;
}