方法
public void Foo<T>(T o)
{
var oType = o.GetType();
var tType = typeof(T);
}
在选择使用哪一种功能性功能或非功能性时,我应该考虑什么?
我创造了一个小提琴演示它:
答案 0 :(得分:5)
当然:您应该考虑是否希望结果类型与参数的静态或运行时类型匹配。
这可能与您的典型用例中的类型相同,但不能认为这是理所当然的。例如:
Foo<object>(string.Empty); // oType = string, tType = object
此外,在一般情况下,你必须小心不要打电话
GetType
上的null
。