Esiste una classe base che ha un metodo di tipo generico e sono sicuro che nel mio derivato restituirò una stringa. Questo è il mio codice:La dichiarazione del parametro di tipo deve essere un identificatore non un tipo
public abstract class Base
{
public virtual T GetSomething<T>()
{
return default(T);
}
}
public class Extended : Base
{
public override string GetSomething<string>()
{
return string.Empty;
//return base.GetSomething<T>();
}
}
Ma questo codice non viene compilato. Qualcuno può individuare l'errore? Sono sicuro che nella mia classe estesa voglio solo restituire una stringa. Come lo risolvo?
o cambiare la base dichiarazione di classe a 'classe astratta pubblica Base' –
Eranga
Forse, e poi 'Esteso: Base'. Questo è certamente possibile. Non è immediatamente chiaro che cosa sta cercando di realizzare l'OP, quindi ho scelto l'approccio che richiede un minimo cambiamento nel design della classe. –
cdhowie