Tenho um aviso na parte inferior da tela:
Aviso 1 'WindowsFormsApplication2.EventControlDataSet.Events' oculta o membro herdado 'System.ComponentModel.MarshalByValueComponent.Events'. Use a nova palavra-chave se a intenção era ocultar. C: \ Users \ myComputer \ Desktop \ Event Control \ WindowsFormsApplication2 \ EventControlDataSet.Designer.cs 112 32 eventControl
Se eu clicar duas vezes nele, aparecerá:
public EventsDataTable Events {
get {
return this.tableEvents;
}
Alguém pode me dizer como me livrar disso?
new
palavra-chave eliminaria o erro de compilação, mas pode introduzir outro comportamento não intencional. Acho que você deve adicionar um aviso à sua resposta. Isso seria útil para compreender as consequências da adiçãonew
.@wdavo está correto. O mesmo também é verdadeiro para funções.
Se você substituir uma função base, como Update, em sua subclasse, você precisa:
Sem o novo no início da eliminação da função, você obterá o sinalizador de aviso.
fonte
No código abaixo,
Class A
implementa a interfaceIShow
e implementa seu métodoShowData
.Class B
herdaClass A
. Para usar oShowData
método emClass B
, temos que usar a palavra-chavenew
noShowData
método para ocultar oClass A
método da classe base e usar aoverride
palavra-chave para estender o método.fonte
override
em seu exemplo de sua explicação eoverride
não é necessário.A função pai precisa da
virtual
palavra - chave e a função filha precisa daoverride
palavra - chave na frente da definição da função.fonte