次の方法で共有


Type.DeclaringType プロパティ

このメンバを宣言するクラスを取得します。

Overrides Public ReadOnly Property DeclaringType As Type
[C#]
public override Type DeclaringType {get;}
[C++]
public: __property Type* get_DeclaringType();
[JScript]
public override function get DeclaringType() : Type;

プロパティ値

このメンバを宣言するクラスの Type オブジェクト。型が入れ子になっている場合、このプロパティは外側の型を返します。

解説

このプロパティは、 MemberInfo から継承した抽象プロパティを実装します。

使用例

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

 
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Public MustInherit Class dtype

    Public MustInherit Class MyClassA
        Public MustOverride Function m() As Integer
    End Class

    Public MustInherit Class MyClassB
        Inherits MyClassA
    End Class

    Public Shared Sub Main()
        Console.WriteLine("The declaring type of m is {0}.", _
           GetType(MyClassB).GetMethod("m").DeclaringType)
    End Sub
End Class

[C#] 
using System;
using System.Reflection;
 
public abstract class dtype 
{
    
    public abstract class MyClassA 
    {
        public abstract int m(); 
    }
    
    public abstract class MyClassB : MyClassA 
    {
    }
  
    public static void Main(string[] args) 
    { 
        Console.WriteLine("The declaring type of m is {0}.",
            typeof(MyClassB).GetMethod("m").DeclaringType);
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;

public __abstract __gc class dtype 
{

public:
   __abstract __gc class MyClassA 
   {
   public:
      virtual int m() = 0;
   };

   __abstract __gc class MyClassB : public MyClassA 
   {
   };

};

int main()
{
   Console::WriteLine(S"The declaring type of m is {0}.",
      __typeof(dtype::MyClassB)->GetMethod(S"m")->DeclaringType);
}

[JScript] 
import System;
import System.Reflection;

public abstract class dtype {
   
   public abstract class MyClassA {
      public abstract function m(): int ; 
   }
   
   public abstract class MyClassB extends MyClassA {
   }
 
   public static function Main() : void { 
      Console.WriteLine("Declaring type of m is {0}",
         MyClassB.GetMethod("m").DeclaringType);
   }
}

dtype.Main();

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Type クラス | Type メンバ | System 名前空間 | MemberInfo | ReflectedType