Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 19862|Répondre: 1

[Source] Héritage des caractéristiques .net/c# en détail

[Copié le lien]
Publié sur 14/02/2017 11:13:38 | | |
Description :

Il y a deux classes, A et B, I A hérite de la classe B, et B est la classe mère

J’ai défini les propriétés TestAttribute en classe A et classe B respectivement...

Ensuite, prenons les caractéristiques de l’objet, et le code est le suivant :



J’ai constaté que le nombre de résultats est de 1, et que l’attribut est l’attribut défini par A, pas l’attribut défini par B, sans parler de fusionné, pourquoi cela ???


[Help(« BaseClass »)] publicclass Base{} publicclass Derive : Base{}
Il y a quatre combinaisons possibles ici :

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false]  
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = faux ]  
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true]  
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true]  
Le premier cas :

Si nous interrogeons la classe Derive (nous verrons plus tard comment interroger les propriétés d’une classe à l’exécution), nous constaterons que la fonctionnalité Aide n’existe pas car la propriété héritée est réglée sur fausse.

Deuxième affaire :

Comme dans le premier cas, car hérité est aussi fixée sur faux.



La troisième situation :

Pour expliquer les troisième et quatrième cas, ajoutons d’abord un peu de code à la classe dérivée :

[Aide(« BaseClass »)] publicclass Base{}[Help(« DeriveClass »)] publicclass Derive : Base{}
Interrogons maintenant la fonction Aide, nous ne pouvons obtenir que les propriétés de la classe dérivée, car inherited est réglé sur true, mais AllowMultiple est fixé sur false. Par conséquent, la caractéristique Aide de la classe de base est supplantée par la caractéristique Aide de la classe déduitive.

La quatrième situation :

Ici, nous verrons que la classe dérivée possède à la fois la caractéristique Aide de la classe de base et sa propre caractéristique Aide, car AllowMultiple est réglé sur true.







Précédent:Affectation C# entre deux propriétés d’objets
Prochain:TypeErreur non capturée : a(...). Parents(...). etSelf n’est pas une fonction
 Propriétaire| Publié sur 30/03/2017 09:35:49 |
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com