Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
I membri ereditati 'membro1' e 'membro2' presentano la stessa firma nel tipo 'tipo', pertanto non possono essere sottoposti a override.
The inherited members 'member1' and 'member2' have the same signature in type 'type', so they cannot be overridden
Questo errore risulta dall'introduzione di generics. In genere, in una classe non possono esistere due versioni di un metodo con la stessa firma. Con l'introduzione di generics, invece, è possibile specificare un metodo generico in grado di duplicare un altro metodo se ne viene creata un'istanza con un tipo specifico.
Esempio
Quando viene creata un'istanza di C<int>, vengono generate due versioni del metodo F con la stessa firma. Di conseguenza, l'override nella classe D non è in grado di determinare la versione su cui operare.
Il seguente codice di esempio genera l'errore CS0462.
// CS0462.cs
// compile with: /target:library
class C<T>
{
public virtual void F(T t) {}
public virtual void F(int t) {}
}
class D : C<int>
{
public override void F(int t) {} // CS0462
}