ホームページ >バックエンド開発 >C++ >C# でオブジェクトがジェネリック型かどうかを確認する方法

C# でオブジェクトがジェネリック型かどうかを確認する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-06 16:05:48413ブラウズ

How to Check if an Object is a Generic Type in C#?

C# でオブジェクトがジェネリック型であるかどうかをテストする方法

質問:

オブジェクトがジェネリック型に属しているかどうかを確認したいとします。ただし、 list.GetType() == typeof(List<>) を使用しようとすると false が返されます。このテストを正しく実行するにはどうすればよいですか?

答え:

必要なテストの特定の種類を決定します:

ジェネリックのインスタンスのチェック次のように入力します:

オブジェクトが のインスタンスであるかどうかを単純にチェックするにはジェネリック型の場合は、次を使用します:

return list.GetType().IsGenericType;

ジェネリック リストのチェック:

オブジェクトが List

return list.GetType().GetGenericTypeDefinition() == typeof(List<>);

後者のテストでは正確な型がチェックされることに注意してください同等。オブジェクトが List から継承している場合、または汎用インターフェイスを実装している場合、テストは false を返します。

以上がC# でオブジェクトがジェネリック型かどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。