Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Type.DeclaringType (Propiedad)

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

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public override Type DeclaringType { get; }

Valor de propiedad

Tipo: System.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

_Type.DeclaringType
_MemberInfo.DeclaringType

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 de método genérico. Si el tipo es genérico, se devuelve la definición de tipo genérico. Es decir, en el código siguiente se devuelve la definición de tipo genérico de la clase genérica List<T>, que contiene el método genérico ConvertAll<TOutput>:


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


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

  • Si la propiedad DeclaringMethod devuelve una clase MethodInfo, esa clase MethodInfo representa una definición de método genérico y el objeto Type actual representa un parámetro de tipo de esa definición de método genérico.

  • Si la propiedad DeclaringMethod devuelve null, la propiedad DeclaringType siempre devuelve un objeto Type que representa una definición de tipo genérico y el objeto Type actual representa un parámetro de tipo de esa definición de tipo genérico.

  • La obtención de la propiedad DeclaringType en un tipo cuya propiedad IsGenericParameter es false produce una excepción InvalidOperationException.

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


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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft