Cod*_*ray 19
由于您使用的是C#4.0,因此可以编写通用方法.例如:
void MyMethod<T>(T param)
{
if (typeof(T) == typeof(int))
{
// the object is an int
}
else if (typeof(T) == typeof(string))
{
// the object is a string
}
}
Run Code Online (Sandbox Code Playgroud)
但是你应该认真考虑这是不是一个好主意.上面的例子有点代码味道.事实上,泛型的全部意义是通用的.如果你必须根据传入的对象的类型对你的代码进行特殊处理,那么这就是你应该使用重载的标志.这样,每个方法重载处理其独特的情况.我无法想象这样做有什么不利之处.