public void compare<T>(T someobject)
{
.....
.....
}
今、私T
は実行時に型を決定し、それに基づいて別の操作を行いたいと考えています。を使ってみましたtypeof
がダメでした。
is
パラメータの型を確認するために使用できます
if (someobject is SomeType)//...
または、代わりに...
Type constructedType = typeof(T);
if (constructedType == typeof(SomeType))//...
typeof は実行時に正常に動作するはずです。
public void compare<T>(T someobject)
{
if (typeof(T) == typeof(int))
{
// do stuff
}
else if (typeof(T) == typeof(something else))
{
// do other stuff
}
}
試みることができます
typeof(T) == typeof(desiredType)
例えば:
typeof(T) == typeof(int)
if (someobj.GetType() == typeof(ClassA)) { /* do opertion */},