J'ai un avertissement en bas de mon écran:
Avertissement 1 'WindowsFormsApplication2.EventControlDataSet.Events' masque le membre hérité 'System.ComponentModel.MarshalByValueComponent.Events'. Utilisez le nouveau mot-clé si la cache était destinée. C: \ Users \ myComputer \ Desktop \ Event Control \ WindowsFormsApplication2 \ EventControlDataSet.Designer.cs 112 32 eventControl
Si je double-clique dessus, il apparaît:
public EventsDataTable Events {
get {
return this.tableEvents;
}
Quelqu'un peut-il me dire comment s'en débarrasser?
new
mot clé éliminerait l'erreur de compilation, mais pourrait introduire un autre comportement involontaire. Je pense que vous devriez ajouter un avertissement à votre réponse. Cela serait utile pour comprendre les conséquences de l'ajoutnew
.@wdavo est correct. Il en va de même pour les fonctions.
Si vous remplacez une fonction de base, comme Update, vous avez besoin dans votre sous-classe:
Sans le nouveau au début de la déclinaison de la fonction, vous obtiendrez le drapeau d'avertissement.
la source
Dans le code ci-dessous,
Class A
implémente l'interfaceIShow
et implémente sa méthodeShowData
.Class B
hériteClass A
. Pour utiliser laShowData
méthode dansClass B
, nous devons utiliser le mot-clénew
dans laShowData
méthode afin de masquer laClass A
méthode de la classe de base et utiliser leoverride
mot-clé afin d'étendre la méthode.la source
override
dans votre exemple de votre explication etoverride
n'est pas nécessaire.La fonction parent a besoin du
virtual
mot - clé, et la fonction enfant a besoin duoverride
mot - clé devant la définition de fonction.la source