MethodInfo.IsGenericMethodDefinition プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > MethodInfo.IsGenericMethodDefinition プロパティの意味・解説 

MethodInfo.IsGenericMethodDefinition プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

現在の MethodInfo がジェネリック メソッドの定義を表しているかどうかを示す値を取得します

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Overrides ReadOnly
 Property IsGenericMethodDefinition As Boolean
Dim instance As MethodInfo
Dim value As Boolean

value = instance.IsGenericMethodDefinition
public override bool IsGenericMethodDefinition
 { get; }
public:
virtual property bool IsGenericMethodDefinition {
    bool get () override;
}
/** @property */
public boolean get_IsGenericMethodDefinition ()
public override function get
 IsGenericMethodDefinition () : boolean

プロパティ
MethodInfo オブジェクトジェネリック メソッドの定義を表している場合trueそれ以外場合false

解説解説

現在の MethodInfoジェネリック メソッド定義を表している場合は、次の処理が行われます

IsGenericMethodDefinition プロパティ使用して型引数ジェネリック メソッド型パラメータ割り当てられているかどうか判断します型引数割り当てられている場合は、型引数一部が、包含する型の型パラメータを表す Type オブジェクトであってもIsGenericMethodDefinition プロパティfalse返します。例として、C#Visual Basic、および C++ の各コード次に示します

class C
{
    T N<T,U>(T t, U u) {...}
    public V M<V>(V v)
    {
        return N<V,int>(v, 42);
    }
}

Class C
    Public Function N(Of T,U)(ByVal ta As T, ByVal ua As U) As T
        ...
    End Function
    Public Function M(Of V)(ByVal va As V ) As V
        Return N(Of V, Integer)(va, 42)
    End Function
End Class

ref class C
{
private:
    generic <typename T, typename U> T N(T t, U u) {...}
public:
    generic <typename V> V M(V v)
    {
        return N<V, int>(v, 42);
    }
};

Mメソッド本体には、M型パラメータおよび Int32 型を指定したN メソッドへの呼び出し格納されます。IsGenericMethodDefinition プロパティは、N<V,int> メソッドに対して false返します

メモメモ

C クラス検索してオープン構築メソッドである N<V,int> が見つからなくても、動的クラスとして C出力するために、MakeGenericMethod を使用して、このメソッド生成する必要があります

ジェネリック メソッド定義に宣言型ジェネリック パラメータ含まれている場合は、構築され各型固有のジェネリック メソッド定義になります。例として、C# コードおよび Visual Basic コード次に示します

class B<U,V> {}
class C<T> { public B<T,S> M<S>() {...}}

Class B(Of U, V)
End Class
Class C(Of T)
    Public Function M(Of S)() As B(Of T, S)
        ...
    End Function
End Class 

generic <typename U, typename V> ref class B {};
generic <typename T> ref class C
{
public:
    generic <typename S> B<T,S>^ M() {...};
};

構築C<int> (Visual Basic の場合C(Of Integer)) では、ジェネリック メソッドMB<int, S>返しますオープン型 C<T> では、MB<T, S>返します。どちらの場合も、IsGenericMethodDefinition プロパティは、M を表す MethodInfo に対して true返します

ジェネリック メソッド固有の用語に関する一定の条件一覧については、IsGenericMethod プロパティトピック参照してくださいジェネリック リフレクション使用されるその他の用語に関する一定の条件一覧については、IsGenericType のプロパティトピック参照してください

使用例使用例

IsGenericMethodDefinition プロパティ使用してMethodInfoジェネリック メソッド定義を表しているかどうかを示すメッセージ表示するコード例次に示します

このコード例は、MakeGenericMethod メソッドトピック取り上げているコード例一部分です。

Console.WriteLine(vbTab _
    & "Is this a generic method definition? {0}",
 _
    mi.IsGenericMethodDefinition)
Console.WriteLine("\tIs this a generic method definition?
 {0}", 
    mi.IsGenericMethodDefinition);
Console::WriteLine("\tIs this a generic method definition?
 {0}", 
    mi->IsGenericMethodDefinition);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からMethodInfo.IsGenericMethodDefinition プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からMethodInfo.IsGenericMethodDefinition プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMethodInfo.IsGenericMethodDefinition プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MethodInfo.IsGenericMethodDefinition プロパティ」の関連用語

MethodInfo.IsGenericMethodDefinition プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MethodInfo.IsGenericMethodDefinition プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS