Introduction détaillée à plusieurs utilisations de new en C#

黄舟
Libérer: 2017-03-17 13:05:41
original
1883 Les gens l'ont consulté

Cet article présente principalement plusieurs utilisations de new en C#, qui a une bonne valeur de référence. Regardons-le avec l'éditeur.

En C#, le mot-clé new Can be. utilisé comme opérateur, modificateur ou contrainte. Le

nouvel opérateur

est utilisé pour créer des objets et appeler le constructeur.

nouveau modificateur

est utilisé pour masquer les membres hérités des membres de la classe de base.

nouvelle contrainte

est utilisée pour contraindre les types de paramètres pouvant être utilisés comme paramètres de type dans une déclaration générique.

nouveau modificateur (référence C#)

Lorsqu'il est utilisé comme modificateur, le mot-clé new peut masquer explicitement les membres hérités d'une classe de base. Masquer un membre hérité signifie que la version dérivée du membre remplace la version de la classe de base. Le masquage des membres sans le nouveau modificateur est autorisé, mais un avertissement est généré. Masquer explicitement un membre à l'aide de new supprime cet avertissement et enregistre le fait que la version dérivée est utilisée à la place.

Pour masquer un membre hérité, déclarez le membre dans une classe dérivée du même nom et modifiez le membre avec le nouveau modificateur

nouvel opérateur (référence C#)

1. Utilisé pour créer des objets et appeler des constructeurs. Par exemple :

Class1 o = new Class1();
Copier après la connexion

2 Également utilisé pour appeler le constructeur par défaut pour les types de valeur

<🎜. > Exemple : int myInt = new int();

myInt est initialisé à 0, qui est la valeur par défaut du type int. L'effet de cette instruction est équivalent à : int myInt = 0;

3 Le nouvel opérateur ne peut pas être surchargé par .

4. Si le nouvel opérateur ne parvient pas à allouer de la mémoire, il lancera une exception OutOfMemoryException

new Constraints (Référence C#)

new La contrainte spécifie que tout paramètre de type dans une déclaration de classe générique doit avoir un constructeur public sans paramètre. Lorsqu'une classe générique crée une nouvelle instance du type, cette contrainte est appliquée aux paramètres de type, comme le montre l'exemple suivant :

class ItemFactory<T> where T : new() 
{ 
public T GetNewItem() 
{ 
return new T(); 
} 
}
Copier après la connexion
Le masquage des noms par héritage prend l'une des formes suivantes :

 1. Introduisez des constantes, des désignations, des

attributs ou des types dans des classes ou des structures pour masquer tous les membres de la classe de base portant le même nom.

2. L'introduction de méthodes dans une classe ou une structure masque les attributs, champs et types de même nom dans la classe de base. Masque également toutes les méthodes de classe de base avec la même signature.

 3. L'introduction de l'

indexeurdans une classe ou une structure masquera tous les indexeurs de classe de base portant le même nom.

 4. Il est faux d'utiliser new et override en même temps sur le même membre.

REMARQUE : L'utilisation du modificateur new dans une déclaration qui ne masque pas les membres hérités générera un avertissement.

Exemple

Dans cet exemple, la classe imbriquée MyClass masque la classe du même nom dans la classe de base. Cet exemple illustre non seulement comment utiliser des noms complets pour accéder aux membres de classe masqués, mais illustre également comment utiliser le nouveau modificateur pour supprimer les messages d'avertissement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!