Type.GetInterface メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の Type で実装または継承されている特定のインターフェイスを取得します。
オーバーロード
GetInterface(String) |
指定した名前のインターフェイスを検索します。 |
GetInterface(String, Boolean) |
派生クラスでオーバーライドされた場合、インターフェイス名の大文字と小文字を区別するかどうかを指定して、指定したインターフェイスを検索します。 |
GetInterface(String)
- ソース:
- Type.cs
- ソース:
- Type.cs
- ソース:
- Type.cs
指定した名前のインターフェイスを検索します。
public:
Type ^ GetInterface(System::String ^ name);
public:
virtual Type ^ GetInterface(System::String ^ name);
public Type? GetInterface (string name);
public Type GetInterface (string name);
member this.GetInterface : string -> Type
abstract member GetInterface : string -> Type
override this.GetInterface : string -> Type
Public Function GetInterface (name As String) As Type
パラメーター
- name
- String
取得するインターフェイスの名前を格納している文字列。 ジェネリック インターフェイスの場合、これは完全修飾名です。
戻り値
現在の Type で実装または継承されているインターフェイスのうち、指定した名前のインターフェイスが存在する場合は、そのインターフェイスを表すオブジェクト。それ以外の場合は null
。
実装
例外
name
が null
です。
現在の Type は、別の型の引数と同じジェネリック インターフェイスを実装する型を表します。
例
次のコード例では、 メソッドをGetInterface(String)使用して インターフェイスの クラスをHashtableIDeserializationCallback検索し、インターフェイスのメソッドを一覧表示します。
このコード例では、 メソッドの GetInterface(String, Boolean) オーバーロードと GetInterfaceMap メソッドも示しています。
int main()
{
Hashtable^ hashtableObj = gcnew Hashtable;
Type^ objType = hashtableObj->GetType();
array<MemberInfo^>^arrayMemberInfo;
array<MethodInfo^>^arrayMethodInfo;
try
{
// Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo = objType->GetInterface( "IDeserializationCallback" )->GetMethods();
Console::WriteLine( "\nMethods of 'IDeserializationCallback' Interface :" );
for ( int index = 0; index < arrayMethodInfo->Length; index++ )
Console::WriteLine( arrayMethodInfo[ index ] );
// Get FullName for interface by using Ignore case search.
Console::WriteLine( "\nMethods of 'IEnumerable' Interface" );
arrayMethodInfo = objType->GetInterface( "ienumerable", true )->GetMethods();
for ( int index = 0; index < arrayMethodInfo->Length; index++ )
Console::WriteLine( arrayMethodInfo[ index ] );
//Get the Interface methods for 'IDictionary*' interface
InterfaceMapping interfaceMappingObj;
interfaceMappingObj = objType->GetInterfaceMap( IDictionary::typeid );
arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
Console::WriteLine( "\nHashtable class Implements the following IDictionary Interface methods :" );
for ( int index = 0; index < arrayMemberInfo->Length; index++ )
Console::WriteLine( arrayMemberInfo[ index ] );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception : {0}", e );
}
}
public static void Main()
{
Hashtable hashtableObj = new Hashtable();
Type objType = hashtableObj.GetType();
MethodInfo[] arrayMethodInfo;
MemberInfo[] arrayMemberInfo;
try
{
// Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo =objType.GetInterface("IDeserializationCallback").GetMethods();
Console.WriteLine ("\nMethods of 'IDeserializationCallback' Interface :");
foreach(MethodInfo methodInfo in arrayMethodInfo)
Console.WriteLine (methodInfo);
// Get FullName for interface by using Ignore case search.
Console.WriteLine ("\nMethods of 'IEnumerable' Interface");
arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods();
foreach(MethodInfo methodInfo in arrayMethodInfo)
Console.WriteLine (methodInfo);
//Get the Interface methods for 'IDictionary' interface
InterfaceMapping interfaceMappingOb = objType.GetInterfaceMap(typeof(IDictionary));
arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
Console.WriteLine ("\nHashtable class Implements the following IDictionary Interface methods :");
foreach(MemberInfo memberInfo in arrayMemberInfo)
Console.WriteLine (memberInfo);
}
catch (Exception e)
{
Console.WriteLine ("Exception : " + e.ToString());
}
}
let hashtableObj = Hashtable()
let objType = hashtableObj.GetType()
try
// Get the methods implemented in 'IDeserializationCallback' interface.
let arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
printfn "\nMethods of 'IDeserializationCallback' Interface :"
for methodInfo in arrayMethodInfo do
printfn $"{methodInfo}"
// Get FullName for interface by using Ignore case search.
printfn "\nMethods of 'IEnumerable' Interface"
let arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods()
for methodInfo in arrayMethodInfo do
printfn $"{methodInfo}"
//Get the Interface methods for 'IDictionary' interface
let interfaceMappingObj = objType.GetInterfaceMap typeof<IDictionary>
let arrayMemberInfo = interfaceMappingObj.InterfaceMethods
printfn "\nHashtable class Implements the following IDictionary Interface methods :"
for memberInfo in arrayMemberInfo do
printfn $"{memberInfo}"
with e ->
printfn $"Exception : {e}"
Public Shared Sub Main()
Dim hashtableObj As New Hashtable()
Dim objType As Type = hashtableObj.GetType()
Dim arrayMemberInfo() As MemberInfo
Dim arrayMethodInfo() As MethodInfo
Try
' Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
Console.WriteLine(ControlChars.Cr + "Methods of 'IDeserializationCallback' Interface :")
Dim index As Integer
For index = 0 To arrayMethodInfo.Length - 1
Console.WriteLine(arrayMethodInfo(index).ToString())
Next index
' Get FullName for interface by using Ignore case search.
Console.WriteLine(ControlChars.Cr + "Methods of 'IEnumerable' Interface")
arrayMethodInfo = objType.GetInterface("ienumerable", True).GetMethods()
For index = 0 To arrayMethodInfo.Length - 1
Console.WriteLine(arrayMethodInfo(index).ToString())
Next index
'Get the Interface methods for 'IDictionary' interface
Dim interfaceMappingObj As InterfaceMapping
interfaceMappingObj = objType.GetInterfaceMap(GetType(IDictionary))
arrayMemberInfo = interfaceMappingObj.InterfaceMethods
Console.WriteLine(ControlChars.Cr + "Hashtable class Implements the following IDictionary Interface methods :")
For index = 0 To arrayMemberInfo.Length - 1
Console.WriteLine(arrayMemberInfo(index).ToString())
Next index
Catch e As Exception
Console.WriteLine(("Exception : " + e.ToString()))
End Try
End Sub
End Class
注釈
の name
検索では、大文字と小文字が区別されます。
現在 Type の が構築されたジェネリック型を表す場合、このメソッドは、 を適切な型引数に置き換えられた型パラメーターで返 Type します。
現在 Type の がジェネリック型またはジェネリック メソッドの定義で型パラメーターを表す場合、このメソッドはインターフェイス制約と、クラスまたはインターフェイス制約から継承されたすべてのインターフェイスを検索します。
注意
ジェネリック インターフェイスの name
場合、パラメーターはマングルされた名前で、末尾はグレーブ アクセント (') と型パラメーターの数です。 これは、ジェネリック インターフェイス定義と構築されたジェネリック インターフェイスの両方に当てはまります。 たとえば、 (IExample(Of T)
Visual Basic の場合) または IExample<string>
( (IExample(Of String)
Visual Basic の場合) を検索IExample<T>
するには、 を検索します"IExample`1"
。
こちらもご覧ください
適用対象
GetInterface(String, Boolean)
- ソース:
- Type.cs
- ソース:
- Type.cs
- ソース:
- Type.cs
派生クラスでオーバーライドされた場合、インターフェイス名の大文字と小文字を区別するかどうかを指定して、指定したインターフェイスを検索します。
public:
abstract Type ^ GetInterface(System::String ^ name, bool ignoreCase);
public abstract Type? GetInterface (string name, bool ignoreCase);
public abstract Type GetInterface (string name, bool ignoreCase);
abstract member GetInterface : string * bool -> Type
Public MustOverride Function GetInterface (name As String, ignoreCase As Boolean) As Type
パラメーター
- name
- String
取得するインターフェイスの名前を格納している文字列。 ジェネリック インターフェイスの場合、これは完全修飾名です。
- ignoreCase
- Boolean
単純なインターフェイス名を指定する true
の部分 (名前空間が大文字と小文字を厳密に区別することを指定されている部分) で大文字と小文字の区別を無視する場合は、name
。
または
false
のすべての部分の検索時に大文字と小文字を区別する場合は、name
。
戻り値
現在の Type で実装または継承されているインターフェイスのうち、指定した名前のインターフェイスが存在する場合は、そのインターフェイスを表すオブジェクト。それ以外の場合は null
。
実装
例外
name
が null
です。
現在の Type は、別の型の引数と同じジェネリック インターフェイスを実装する型を表します。
例
次のコード例では、 メソッドを GetInterface(String, Boolean) 使用して、 インターフェイスの クラスの大文字と小文字を Hashtable 区別しない検索を IEnumerable 実行します。
このコード例では、 メソッドの GetInterface(String) オーバーロードと GetInterfaceMap メソッドも示しています。
int main()
{
Hashtable^ hashtableObj = gcnew Hashtable;
Type^ objType = hashtableObj->GetType();
array<MemberInfo^>^arrayMemberInfo;
array<MethodInfo^>^arrayMethodInfo;
try
{
// Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo = objType->GetInterface( "IDeserializationCallback" )->GetMethods();
Console::WriteLine( "\nMethods of 'IDeserializationCallback' Interface :" );
for ( int index = 0; index < arrayMethodInfo->Length; index++ )
Console::WriteLine( arrayMethodInfo[ index ] );
// Get FullName for interface by using Ignore case search.
Console::WriteLine( "\nMethods of 'IEnumerable' Interface" );
arrayMethodInfo = objType->GetInterface( "ienumerable", true )->GetMethods();
for ( int index = 0; index < arrayMethodInfo->Length; index++ )
Console::WriteLine( arrayMethodInfo[ index ] );
//Get the Interface methods for 'IDictionary*' interface
InterfaceMapping interfaceMappingObj;
interfaceMappingObj = objType->GetInterfaceMap( IDictionary::typeid );
arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
Console::WriteLine( "\nHashtable class Implements the following IDictionary Interface methods :" );
for ( int index = 0; index < arrayMemberInfo->Length; index++ )
Console::WriteLine( arrayMemberInfo[ index ] );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception : {0}", e );
}
}
public static void Main()
{
Hashtable hashtableObj = new Hashtable();
Type objType = hashtableObj.GetType();
MethodInfo[] arrayMethodInfo;
MemberInfo[] arrayMemberInfo;
try
{
// Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo =objType.GetInterface("IDeserializationCallback").GetMethods();
Console.WriteLine ("\nMethods of 'IDeserializationCallback' Interface :");
foreach(MethodInfo methodInfo in arrayMethodInfo)
Console.WriteLine (methodInfo);
// Get FullName for interface by using Ignore case search.
Console.WriteLine ("\nMethods of 'IEnumerable' Interface");
arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods();
foreach(MethodInfo methodInfo in arrayMethodInfo)
Console.WriteLine (methodInfo);
//Get the Interface methods for 'IDictionary' interface
InterfaceMapping interfaceMappingOb = objType.GetInterfaceMap(typeof(IDictionary));
arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
Console.WriteLine ("\nHashtable class Implements the following IDictionary Interface methods :");
foreach(MemberInfo memberInfo in arrayMemberInfo)
Console.WriteLine (memberInfo);
}
catch (Exception e)
{
Console.WriteLine ("Exception : " + e.ToString());
}
}
let hashtableObj = Hashtable()
let objType = hashtableObj.GetType()
try
// Get the methods implemented in 'IDeserializationCallback' interface.
let arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
printfn "\nMethods of 'IDeserializationCallback' Interface :"
for methodInfo in arrayMethodInfo do
printfn $"{methodInfo}"
// Get FullName for interface by using Ignore case search.
printfn "\nMethods of 'IEnumerable' Interface"
let arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods()
for methodInfo in arrayMethodInfo do
printfn $"{methodInfo}"
//Get the Interface methods for 'IDictionary' interface
let interfaceMappingObj = objType.GetInterfaceMap typeof<IDictionary>
let arrayMemberInfo = interfaceMappingObj.InterfaceMethods
printfn "\nHashtable class Implements the following IDictionary Interface methods :"
for memberInfo in arrayMemberInfo do
printfn $"{memberInfo}"
with e ->
printfn $"Exception : {e}"
Public Shared Sub Main()
Dim hashtableObj As New Hashtable()
Dim objType As Type = hashtableObj.GetType()
Dim arrayMemberInfo() As MemberInfo
Dim arrayMethodInfo() As MethodInfo
Try
' Get the methods implemented in 'IDeserializationCallback' interface.
arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
Console.WriteLine(ControlChars.Cr + "Methods of 'IDeserializationCallback' Interface :")
Dim index As Integer
For index = 0 To arrayMethodInfo.Length - 1
Console.WriteLine(arrayMethodInfo(index).ToString())
Next index
' Get FullName for interface by using Ignore case search.
Console.WriteLine(ControlChars.Cr + "Methods of 'IEnumerable' Interface")
arrayMethodInfo = objType.GetInterface("ienumerable", True).GetMethods()
For index = 0 To arrayMethodInfo.Length - 1
Console.WriteLine(arrayMethodInfo(index).ToString())
Next index
'Get the Interface methods for 'IDictionary' interface
Dim interfaceMappingObj As InterfaceMapping
interfaceMappingObj = objType.GetInterfaceMap(GetType(IDictionary))
arrayMemberInfo = interfaceMappingObj.InterfaceMethods
Console.WriteLine(ControlChars.Cr + "Hashtable class Implements the following IDictionary Interface methods :")
For index = 0 To arrayMemberInfo.Length - 1
Console.WriteLine(arrayMemberInfo(index).ToString())
Next index
Catch e As Exception
Console.WriteLine(("Exception : " + e.ToString()))
End Try
End Sub
End Class
注釈
パラメーターは ignoreCase
、名前空間ではなく、単純なインターフェイス名にのみ適用されます。 名前空間を指定する の name
部分は、大文字と小文字が正しいか、インターフェイスが見つからない必要があります。 たとえば、文字列 "System.icomparable" は インターフェイスを IComparable 検索しますが、文字列 "system.icomparable" は見つかりません。
現在 Type の が構築されたジェネリック型を表す場合、このメソッドは、 を適切な型引数に置き換えられた型パラメーターで返 Type します。
現在 Type の がジェネリック型またはジェネリック メソッドの定義で型パラメーターを表す場合、このメソッドはインターフェイス制約と、クラスまたはインターフェイス制約から継承されたすべてのインターフェイスを検索します。
Note
ジェネリック インターフェイスの name
場合、パラメーターはマングルされた名前で、末尾はグレーブ アクセント (') と型パラメーターの数です。 これは、ジェネリック インターフェイス定義と構築されたジェネリック インターフェイスの両方に当てはまります。 たとえば、 (IExample(Of T)
Visual Basic の場合) または IExample<string>
( (IExample(Of String)
Visual Basic の場合) を検索IExample<T>
するには、 を検索します"IExample`1"
。
こちらもご覧ください
適用対象
.NET