CodeTypeReference.BaseType Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o nome do tipo referenciado.
public:
property System::String ^ BaseType { System::String ^ get(); void set(System::String ^ value); };
public string BaseType { get; set; }
member this.BaseType : string with get, set
Public Property BaseType As String
Valor de Propriedade
O nome do tipo referido.
Observações
Esta propriedade contém o nome do tipo, a menos que seja um tipo de array, caso em que é o tipo de elemento de array.
Note
O nome da propriedade pode ser enganador. Esta propriedade contém apenas o nome do tipo com quaisquer adornos de array ou argumentos genéricos removidos, não o tipo base ou pai, como seria de esperar. Por exemplo, o BaseType valor para System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]] é System.Collections.Generic.Dictionary`2.
Representação de Tipos Genéricos
A informação desta secção destina-se a programadores fornecedores CodeDom e aplica-se apenas a linguagens compatíveis com CLS. O valor de retorno pode conter tipos genéricos. Os tipos genéricos são formatados com o nome do tipo seguido de um acento grave ("'") seguido de uma contagem dos argumentos do tipo genérico. Os argumentos genéricos do tipo podem ser encontrados no CodeTypeReferenceCollection devolvido pela TypeArguments propriedade. Os valores devolvidos por BaseType e os associados TypeArguments contêm o mesmo conteúdo que o valor do tipo devolvido por reflexão.
Por exemplo, um construído Dictionary<TKey,TValue> onde K é uma cadeia e V é um construído List<T> de inteiros é representado por reflexão da seguinte forma (com a informação de montagem removida):
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Analisar recursivamente a BaseType propriedade do CodeTypeReference para Dictionary<TKey,TValue> produz as mesmas strings que a representação de reflexão acima:
A BaseType propriedade para o progenitor CodeTypeReference devolve o seguinte:
System.Collections.Generic.Dictionary`2A BaseType propriedade para o primeiro CodeTypeReference objeto da TypeArguments coleção devolve o seguinte:
System.StringA BaseType propriedade para o segundo CodeTypeReference objeto da TypeArguments coleção devolve o seguinte:
System.Collections.Generic.List`1A TypeArguments propriedade no CodeTypeReference objeto para
System.Collections.Generic.List`1devolve o seguinte:System.Int32
A contagem de argumentos de tipo deve ser usada ao analisar os valores associados TypeArguments . A prática comum é remover a contagem de argumentos de tipo do código gerado, mas a prática é específica do compilador. É importante notar que a contagem de argumentos de tipo pode ser encontrada dentro de um nome de tipo aninhado, caso em que é seguida por um sinal de mais ("+").
Note
Ao criar um genérico CodeTypeReference, a prática recomendada é especificar os argumentos de tipo como CodeTypeReference objetos ou usar o construtor que toma um Type. A utilização do construtor que cria a CodeTypeReference partir de uma cadeia pode levar a erros de argumento de tipo que não podem ser descobertos.