public void compare<T>(T someobject)
{
.....
.....
}
现在我想在运行时确定T
的类型,并根据它进行不同的操作。我尝试使用typeof
,但无济于事。
答案 0 :(得分:2)
typeof应该在运行时正常工作。
public void compare<T>(T someobject)
{
if (typeof(T) == typeof(int))
{
// do stuff
}
else if (typeof(T) == typeof(something else))
{
// do other stuff
}
}
答案 1 :(得分:2)
is
可用于检查参数类型
if (someobject is SomeType)//...
或者,或者......
Type constructedType = typeof(T);
if (constructedType == typeof(SomeType))//...
答案 2 :(得分:1)
可以尝试
typeof(T) == typeof(desiredType)
例如:
typeof(T) == typeof(int)
答案 3 :(得分:1)
if (someobj.GetType() == typeof(ClassA)) { /* do opertion */},