エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Type.DeclaringType プロパティ

2013/12/12

現在の入れ子にされた型またはジェネリック型パラメーターを宣言する型を取得します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public override Type DeclaringType { get; }

プロパティ値

型: System.Type
現在の型が入れ子にされた型である場合、包含する型を表す Type オブジェクト。現在の型がジェネリック型の型パラメーターである場合、ジェネリック型定義。現在の型がジェネリック メソッドの型パラメーターである場合、ジェネリック メソッドを宣言する型。それ以外の場合、null

現在の Type オブジェクトがジェネリック型の型パラメーターを表している場合、このプロパティはジェネリック型定義を返します。

現在の Type オブジェクトがジェネリック メソッドの型パラメーターを表している場合、このプロパティはジェネリック メソッド定義を含む型を返します。型がジェネリックである場合は、ジェネリック型定義が返されます。

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表している場合、DeclaringType プロパティおよび DeclaringMethod プロパティは、ジェネリック型定義が最初に定義されたジェネリック型定義またはジェネリック メソッド定義を識別します。

  • DeclaringMethod プロパティが MethodInfo を返す場合、その MethodInfo はジェネリック メソッド定義を表し、現在の Type オブジェクトはそのジェネリック メソッド定義の型パラメーターを表します。

  • DeclaringMethod プロパティが null を返す場合、DeclaringType プロパティは常にジェネリック型定義を表す Type オブジェクトを返します。現在の Type オブジェクトは、そのジェネリック型定義の型パラメーターを表します。

  • IsGenericParameter プロパティが false である型に対して DeclaringType プロパティを取得すると、InvalidOperationException がスローされます。

派生クラスでメソッドの型宣言を表示するコード例を次に示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

public abstract class Example
{

   public abstract class MyClassA
   {
      public abstract int m();
   }

   public abstract class MyClassB : MyClassA
   {
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format("The declaring type of m is {0}.",
          typeof(MyClassB).GetMethod("m").DeclaringType) + "\n";
   }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft