Type.DeclaringType-Eigenschaft
Ruft die Klasse ab, die diesen Member deklariert.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides ReadOnly Property DeclaringType As Type
'Usage
Dim instance As Type
Dim value As Type
value = instance.DeclaringType
public override Type DeclaringType { get; }
public:
virtual property Type^ DeclaringType {
Type^ get () override;
}
/** @property */
public Type get_DeclaringType ()
public override function get DeclaringType () : Type
Eigenschaftenwert
Das Type-Objekt für die Klasse, in der dieser Member deklariert ist. Wenn der Typ ein geschachtelter Typ ist, gibt diese Eigenschaft den umschließenden Typ zurück.
Hinweise
Diese Eigenschaft implementiert die von MemberInfo geerbte abstrakte Eigenschaft.
Wenn der aktuelle Type einen Typparameter in der Definition eines generischen Typs oder einer generischen Methode darstellt, identifizieren die DeclaringType-Eigenschaft und die DeclaringMethod-Eigenschaft die generische Typ- oder Methodendefinition, in der der generische Typparameter ursprünglich definiert wurde:
Wenn die DeclaringMethod-Eigenschaft eine MethodInfo zurückgibt, stellt diese MethodInfo eine generische Methodendefinition dar, und das aktuelle Type-Objekt stellt einen Typparameter dieser generischen Methodendefinition dar.
Wenn die DeclaringMethod-Eigenschaft NULL (Nothing in Visual Basic) zurückgibt, gibt die DeclaringType-Eigenschaft immer ein Type-Objekt zurück, das eine generische Typdefinition darstellt, und das aktuelle Type-Objekt stellt einen Typparameter dieser generischen Typdefinition dar.
Bei einem Typparameter einer generischen Methode gibt diese Eigenschaft den Typ zurück, der die generische Methodendefinition enthält.
Beispiel
In diesem Beispiel wird der deklarierende Typ einer Methode einer abgeleiteten Klasse angezeigt.
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
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);
}
}
using namespace System;
using namespace System::Reflection;
public ref class dtype abstract
{
public:
ref class MyClassA abstract
{
public:
virtual int m() = 0;
};
ref class MyClassB abstract: public MyClassA{};
};
int main()
{
Console::WriteLine( "The declaring type of m is {0}.", dtype::MyClassB::typeid->GetMethod( "m" )->DeclaringType );
}
import System.*;
import System.Reflection.*;
abstract public class Dtype
{
abstract public class MyClassA
{
public abstract int M();
} //MyClassA
abstract public class MyClassB extends MyClassA
{
} //MyClassB
public static void main(String[] args)
{
Console.WriteLine("The declaring type of M is {0}.",
MyClassB.class.ToType().GetMethod("M").get_DeclaringType());
} //main
} //Dtype
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
Type-Klasse
Type-Member
System-Namespace
MemberInfo
ReflectedType