0
public void compare<T>(T someobject)
{
  .....
  .....
}

今、私Tは実行時に型を決定し、それに基づいて別の操作を行いたいと考えています。を使ってみましたtypeofがダメでした。

4

4 に答える 4

2

isパラメータの型を確認するために使用できます

if (someobject is SomeType)//...

または、代わりに...

        Type constructedType = typeof(T);
        if (constructedType == typeof(SomeType))//... 
于 2013-01-28T22:31:58.923 に答える
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
        }
    }
于 2013-01-28T22:27:02.810 に答える
1

試みることができます

typeof(T) == typeof(desiredType)

例えば:

typeof(T) == typeof(int)
于 2013-01-28T22:30:49.153 に答える
1
    if (someobj.GetType() == typeof(ClassA)) { /* do opertion */},
于 2013-01-28T22:38:24.690 に答える