オブジェクトがFoo
あり、それをメソッドに渡しvoid Bar(object obj)
、内部でオブジェクトの型をテストする場合typeof(obj)
は、typeof が Foo かオブジェクトかを返しますか?
質問する
59 次
3 に答える
4
typeof
onは使用できませんobj
。インスタンスではなく、型名のみです。obj.GetType()
の実行時型を返すを使用する必要がありますobj
。あなたの場合、から派生した型のインスタンスではなく、 のインスタンスであると仮定して、 にType
対応するのインスタンスを返します。Foo
obj
Foo
Foo
于 2013-06-17T14:13:16.103 に答える
3
いいえ、使用する必要がありますobj.GetType()
。
typeof
は、インスタンスなどType
のタイプのオブジェクトを取得するために使用されますが、 はオブジェクトのインスタンス (実行時オブジェクト) を取得します。typeof(int)
Object.GetType
Type
于 2013-06-17T14:12:36.297 に答える
0
通常、 typeof はジェネリック型に使用されます。オブジェクト インスタンスへの参照がある場合、通常は .GetType() を呼び出すだけです。
あなたの質問を確実に理解するために...
var myFoo = new Foo();
Bar(myFoo);
....
void Bar(object myObject)
{
Type aType = myObject.getType(); // aType will equal typeof(Foo)
于 2013-06-17T14:16:08.227 に答える