CodeTypeReference.BaseType Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le nom du type référencé.
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
Valeur de propriété
Nom du type référencé.
Remarques
Cette propriété contient le nom du type, sauf s’il s’agit d’un type de tableau, auquel cas il s’agit du type d’élément de tableau.
Note
Le nom de la propriété peut être trompeur. Cette propriété contient uniquement le nom de type avec des ornements de tableau ou des arguments de type générique supprimés, et non le type de base ou parent tel qu’il peut être attendu. Par exemple, la BaseType valeur pour System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]] laquelle est System.Collections.Generic.Dictionary`2.
Représentation des types génériques
Les informations contenues dans cette section sont destinées aux développeurs de fournisseurs CodeDom et s’appliquent uniquement aux langages compatibles CLS. La valeur de retour peut contenir des types génériques. Les types génériques sont mis en forme avec le nom du type suivi d’un accent grave (« ») suivi d’un nombre d’arguments de type générique. Les arguments de type générique sont disponibles dans la CodeTypeReferenceCollection propriété retournée TypeArguments . Les valeurs retournées par BaseType et associées TypeArguments contiennent le même contenu que la valeur du type retourné par la réflexion.
Par exemple, une construction où K est une chaîne et V est une construction Dictionary<TKey,TValue>List<T> d’entiers est représentée par la réflexion comme suit (avec les informations d’assembly supprimées) :
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Analyse récursive de la BaseType propriété à partir des CodeTypeReference mêmes Dictionary<TKey,TValue> chaînes que la représentation de réflexion ci-dessus :
La BaseType propriété du parent CodeTypeReference retourne les éléments suivants :
System.Collections.Generic.Dictionary`2La BaseType propriété du premier CodeTypeReference objet de la TypeArguments collection retourne les éléments suivants :
System.StringLa BaseType propriété du deuxième CodeTypeReference objet de la TypeArguments collection retourne les éléments suivants :
System.Collections.Generic.List`1La TypeArguments propriété dans l’objet CodeTypeReference pour
System.Collections.Generic.List`1renvoyer les éléments suivants :System.Int32
Le nombre d’arguments de type doit être utilisé lors de l’analyse des valeurs associées TypeArguments . La pratique courante consiste à supprimer le nombre d’arguments de type du code généré, mais la pratique est spécifique au compilateur. Il est important de noter que le nombre d’arguments de type se trouve dans un nom de type imbriqué, auquel cas il est suivi d’un signe plus (« + »).
Note
Lors de la création d’un générique CodeTypeReference, la pratique recommandée consiste à spécifier les arguments de type en tant qu’objets CodeTypeReference ou à utiliser le constructeur qui accepte un Type. L’utilisation du constructeur qui crée une CodeTypeReference chaîne peut entraîner des erreurs d’argument de type irrécupérables.