ホームページ > バックエンド開発 > C++ > 型が C# で特定の汎用インターフェイスを実装しているかどうかを確認するにはどうすればよいですか?

型が C# で特定の汎用インターフェイスを実装しているかどうかを確認するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-07 07:19:41
オリジナル
812 人が閲覧しました

How Can I Determine if a Type Implements a Specific Generic Interface in C#?

型が特定の汎用インターフェイス型を実装しているかどうかを判断する

次の型定義があるとします。

public interface IFoo<T> : IBar<T> {}
public class Foo<T> : IFoo<T> {}
ログイン後にコピー

マングルされた型だけが与えられた場合、型 Foo が汎用インターフェイス IBar?

LINQ クエリによるソリューション

TcKs が提案しているように、次の LINQ クエリを利用できます:

bool isBar = foo.GetType().GetInterfaces().Any(x =>
  x.IsGenericType &amp;&amp;
  x.GetGenericTypeDefinition() == typeof(IBar<>));
ログイン後にコピー

このクエリは、foo の実装されたインターフェイスのいずれかが、 IBar意味。少なくとも 1 つのインターフェイスがその基準を満たす場合、Any() メソッドは true を返します。

以上が型が C# で特定の汎用インターフェイスを実装しているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート