Ler em inglês

Compartilhar via


Type.DeclaringType Propriedade

Definição

Obtém o tipo que declara o tipo aninhado atual ou o 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 da propriedade

Type

Um objeto Type que representará o tipo de delimitador se o tipo atual for um tipo aninhado, a definição de tipo genérico se o tipo atual for um parâmetro de tipo de um tipo genérico ou o tipo que declara o método genérico se o tipo atual for um parâmetro de tipo de um método genérico. Caso contrário, null.

Implementações

Exemplos

Este exemplo exibe o tipo declarante de um método em uma classe 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.
*/

Comentários

Se o objeto Type atual representar um parâmetro de tipo de um tipo genérico, essa propriedade retornará a definição de tipo genérico.

Se o objeto Type atual representar um parâmetro de tipo de um método genérico, essa propriedade retornará o tipo que contém a definição de método genérico. Se o tipo for genérico, a definição de tipo genérico será retornada. Ou seja, o código a seguir retorna a definição de tipo genérico da List<T> classe genérica, que contém o ConvertAll método genérico:

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

Se o atual representar um parâmetro de tipo na definição de um tipo genérico ou método genérico, as propriedades e identificarão a definição de tipo genérico ou a definição de método genérico em que o parâmetro de tipo genérico Type DeclaringType foi DeclaringMethod originalmente definido:

Aplica-se a

Produto Versões
.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

Confira também