(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Type.DeclaringType-Eigenschaft

Ruft den Typ ab, der den aktuellen geschachtelten oder generischen Typparameter deklariert.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public override Type DeclaringType { get; }

Eigenschaftswert

Typ: System.Type
Ein Type-Objekt, das den einschließenden Typ darstellt, wenn es sich bei dem aktuellen Typ um einen geschachtelten Typ handelt. Die generische Typdefinition, wenn es sich bei dem aktuellen Typ um einen Typparameter eines generischen Typs handelt. Der Typ, der die generische Methode deklariert, wenn es sich bei dem aktuellen Typ um einen Typparameter einer generischen Methode handelt. Andernfalls null.

Implementiert

_Type.DeclaringType
_MemberInfo.DeclaringType

Wenn das aktuelle Type-Objekt einen Typparameter eines generischen Typs darstellt, gibt diese Eigenschaft die generische Typdefinition zurück.

Wenn das aktuelle Type-Objekt einen Typparameter einer generischen Methode darstellt, gibt diese Eigenschaft den Typ zurück, der die generische Methodendefinition enthält. Wenn der Typ generisch ist, wird die generische Typdefinition zurückgegeben. Das heißt, dass im folgenden Code die generische Typdefinition der generischen List<T>-Klasse zurückgegeben wird, die die generische ConvertAll<TOutput>-Methode enthält:


Type t = typeof(List<string>).GetMethod("ConvertAll").GetGenericArguments()[0].DeclaringType;


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 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.

  • Das Abrufen der DeclaringType-Eigenschaft für einen Typ, dessen IsGenericParameter-Eigenschaft false ist, löst eine InvalidOperationException aus.

In diesem Beispiel wird der deklarierende Typ einer Methode einer abgeleiteten Klasse angezeigt.


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);
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft