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 que está 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 esperado. 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
As informações nesta seção destinam-se aos desenvolvedores do provedor CodeDom e se aplicam apenas a linguagens compatíveis com CLS. O valor retornado pode conter tipos genéricos. 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 na CodeTypeReferenceCollection propriedade retornada TypeArguments . Os valores retornados e BaseType os associados TypeArguments contêm o mesmo conteúdo que o valor do tipo retornado pela reflexão.
Por exemplo, um local construído Dictionary<TKey,TValue> onde K é uma cadeia de caracteres e V é uma construção 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 for Dictionary<TKey,TValue> produz as mesmas cadeias de caracteres que a representação de reflexão acima:
A BaseType propriedade do pai CodeTypeReference retorna o seguinte:
System.Collections.Generic.Dictionary`2A BaseType propriedade do primeiro CodeTypeReference objeto da TypeArguments coleção retorna o seguinte:
System.StringA BaseType propriedade do segundo CodeTypeReference objeto na TypeArguments coleção retorna o seguinte:
System.Collections.Generic.List`1A TypeArguments propriedade no CodeTypeReference objeto para
System.Collections.Generic.List`1retorna 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 dentro de 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 uma cadeia CodeTypeReference de caracteres pode levar a erros de argumento de tipo nãoveráveis.