Leer en inglés

Compartir a través de


Type.DeclaringType Propiedad

Definición

Obtiene el tipo que declara el tipo anidado actual o el parámetro de tipo genérico.

C#
public abstract Type DeclaringType { get; }
C#
public override Type? DeclaringType { get; }
C#
public override Type DeclaringType { get; }

Valor de propiedad

Type

Un objeto Type que representa el tipo envolvente, si el tipo actual es un tipo anidado; o la definición de tipo genérico, si el tipo actual es un parámetro de tipo de un tipo genérico; o el tipo que declara el método genérico, si el tipo actual es un parámetro de tipo de un método genérico; en caso contrario, null.

Implementaciones

Ejemplos

En este ejemplo se muestra el tipo declarante de un método en una clase derivada.

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);
    }
}
/* The example produces the following output:

The declaring type of m is dtype+MyClassA.
*/

Comentarios

Si el objeto Type actual representa un parámetro de tipo de un tipo genérico, esta propiedad devuelve la definición de tipo genérico.

Si el objeto Type actual representa un parámetro de tipo de un método genérico, esta propiedad devuelve el tipo que contiene la definición del método genérico. Si el tipo es genérico, se devuelve la definición de tipo genérico. Es decir, el código siguiente devuelve la definición de tipo genérico de la List<T> clase genérica, que contiene el ConvertAll método genérico:

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

Si el objeto actual representa un parámetro de tipo en la definición de un tipo genérico o un método genérico, las propiedades y identifican la definición de tipo genérico o la definición de método genérico donde se definió originalmente el parámetro de Type DeclaringType tipo DeclaringMethod genérico:

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Consulte también