ho ottenuto po 'confuso come funziona il seguente codicePerché sono in grado di sovrascrivere il metodo Equals se la mia classe non eredita da qualcosa?
public class DefaultClass
{
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
La mia domanda è: io non sono ereditando qualsiasi classe, ma come io sono ancora in grado di eseguire l'override Equals metodo. Questo codice viene compilato perfettamente in VS2010. Qualche idea su come funziona?
_ "se la mia classe non eredita da tutto ciò?" _ Sei sulla strada sbagliata, perché ([quasi] (http: // blog. msdn.com/b/ericlippert/archive/2009/08/06/not-everything-derives-from-object.aspx)) ogni classe eredita da 'Object'. –
@TimSchmelter: Close - ogni classe * fa * eredita da 'Object'. Cose come interfacce e puntatori non ereditano perché non sono classi. – Gabe
@Gabe: sì, sostituisce la classe con il tipo e _nearly_ ha ragione. Ma non solo le classi derivano dall'oggetto, anche i tipi di valore come 'struct' o' enum'. –