問題:
次の型を検討してください定義:
public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {}
目的:
型 Foo
回答:
TcKs によって提案されたアプローチを利用すると、次の LINQ クエリを使用できます:
bool isBar = foo.GetType().GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IBar<>));
このクエリは、foo 変数の実装されたインターフェイスのいずれかがジェネリック型であり、そのジェネリック型定義が一致するかどうかをチェックします。 IBar
以上がジェネリック型がその型名のみを使用して特定のジェネリック インターフェイスを実装しているかどうかを判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。