CodeTypeReference.BaseType プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
参照される型の名前を取得または設定します。
public:
property System::String ^ BaseType { System::String ^ get(); void set(System::String ^ value); };
public string BaseType { get; set; }
member this.BaseType : string with get, set
Public Property BaseType As String
プロパティ値
参照先の型の名前。
注釈
このプロパティには、配列型でない限り、型の名前が含まれます。その場合は配列要素型です。
注意
プロパティの名前は誤解を招く可能性があります。 このプロパティには、配列の装飾またはジェネリック型引数が削除された型名だけが含まれます。想定どおりの基本型や親型は含まれません。 たとえば、 の BaseType 値 System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
は です System.Collections.Generic.Dictionary`2
。
ジェネリック型の表現
このセクションの情報は、CodeDom プロバイダー開発者を対象としており、CLS 準拠の言語にのみ適用されます。 戻り値にはジェネリック型を含めることができます。 ジェネリック型は、型の名前の後にグレーブ アクセント ("'") が続き、ジェネリック型引数の数で書式設定されます。 ジェネリック型引数は、 プロパティによってTypeArguments返される にありますCodeTypeReferenceCollection。 によって BaseType 返される値と、関連付けられている TypeArguments には、リフレクションによって返される型の値と同じ内容が含まれます。
たとえば、 がK
文字列で、 V
が整数の構築された List<T> であるコンストラクトDictionary<TKey,TValue>は、次のようにリフレクションで表されます (アセンブリ情報は削除されます)。
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
の Dictionary<TKey,TValue> から プロパティCodeTypeReferenceをBaseType再帰的に解析すると、上記のリフレクション表現と同じ文字列が生成されます。
親CodeTypeReferenceの プロパティはBaseType、次を返します。
System.Collections.Generic.Dictionary`2
コレクション内の最初CodeTypeReferenceのオブジェクトの TypeArguments プロパティはBaseType、次を返します。
System.String
コレクション内の 2 番目CodeTypeReferenceのオブジェクトの TypeArguments プロパティはBaseType、次を返します。
System.Collections.Generic.List`1
の オブジェクト
System.Collections.Generic.List`1
の CodeTypeReference プロパティはTypeArguments、次を返します。System.Int32
型引数の数は、関連付けられている TypeArguments 値を解析するときに使用する必要があります。 一般的な方法は、生成されたコードから型引数の数を削除することですが、実際にはコンパイラ固有です。 型引数の数は、入れ子になった型名内に見つかり、その後にプラス記号 ("+") が続く点に注意してください。
注意
ジェネリック CodeTypeReferenceを作成する場合は、型引数をオブジェクトとして CodeTypeReference 指定するか、 を受け取る Typeコンストラクターを使用することをお勧めします。 文字列から を作成 CodeTypeReference するコンストラクターを使用すると、検出できない型引数エラーが発生する可能性があります。
適用対象
.NET