CodeTypeReference.BaseType Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o nome do tipo sendo 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 da propriedade
O nome do tipo que está sendo referenciado.
Comentários
Essa propriedade contém o nome do tipo, a menos que seja um tipo de matriz, nesse caso, é o tipo de elemento de matriz.
Observação
O nome da propriedade pode ser enganoso. Essa propriedade contém apenas o nome do tipo com qualquer adorno de matriz ou argumentos de tipo genérico removidos, não o tipo base ou pai, como poderia ser esperado. Por exemplo, o valor BaseType 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
As informações nesta seção destinam-se a desenvolvedores do provedor CodeDom e se aplicam apenas a linguagens compatíveis com CLS. O valor retornado pode conter tipos genéricos. Os tipos genéricos são formatados com o nome do tipo seguido por um acento grave ("'") seguido por uma contagem dos argumentos de tipo genérico. Os argumentos de tipo genérico podem ser encontrados no CodeTypeReferenceCollection retornado pela TypeArguments propriedade . Os valores retornados por BaseType e associados TypeArguments contêm o mesmo conteúdo que o valor do tipo retornado pela reflexão.
Por exemplo, um construído Dictionary<TKey,TValue> em que K
é uma cadeia de caracteres e V
é um construído List<T> de inteiros é representado pela reflexão como o seguinte (com as informações do assembly removidas):
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 cadeias de caracteres que a representação de reflexão acima:
A BaseType propriedade para o pai CodeTypeReference retorna o seguinte:
System.Collections.Generic.Dictionary`2
A BaseType propriedade do primeiro CodeTypeReference objeto na TypeArguments coleção retorna o seguinte:
System.String
A BaseType propriedade do segundo CodeTypeReference objeto na TypeArguments coleção retorna o seguinte:
System.Collections.Generic.List`1
A TypeArguments propriedade no CodeTypeReference objeto para
System.Collections.Generic.List`1
retorna 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 observar que a contagem de argumentos de tipo pode ser encontrada em um nome de tipo aninhado; nesse caso, ela é seguida por um sinal de adição ("+").
Observação
Ao criar um genérico CodeTypeReference, a prática recomendada é especificar os argumentos de tipo como CodeTypeReference objetos ou usar o construtor que usa um Type. O uso do construtor que cria um CodeTypeReference de uma cadeia de caracteres pode levar a erros de argumento de tipo desconhecidos.