Visualizza messaggio singolo
Vecchio 09-03-2008, 15.56.54   #1
realtebo
Forum supporter
 
L'avatar di realtebo
 
Registrato: 11-07-2003
Messaggi: 1.843
realtebo promette bene
[C#] Ecezione fai-da-te e problemi di ereditarietÓ

Guardando la definizione della classe ApplicationException vedo quando segue:

Codice:
namespace System
{
    public class ApplicationException : Exception
    {
        public ApplicationException();
        public ApplicationException(string message);
        protected ApplicationException(SerializationInfo info, StreamingContext context);
        public ApplicationException(string message, Exception innerException);
    }
}
Deduco che DERIVANDO una classe SettingsException da ApplicationException, la mia eccezione fai-da-te EREDITA tutti i suoi
metodi, giusto?

PerchŔ allora non mi Ŕ permesso scrivere semplicemente quanto segue, ma invece devo implementare (che Ŕ l'unico che uso nel codice) il costruttore con la stringa message come parametro ?

Codice:
    public class SchemaException : ApplicationException 
    {  }
Io desidero potere scrivere, per esempio:

Codice:
 throw new SchemaException("Parametri errati ... bla bla bla ");
ma non mi Ŕ permesso: il compilatore mi segnala per la precisione:
Codice:
'GameEngine.SchemaException' does not contain a constructor that takes '1' arguments
La domanda, ripeto, Ŕ: perchŔ non eredito i costruttori come invece mi aspetterei? A che serve derivare una classe se non eredito automaticamente i suoi metodi ed i costruttori?
___________________________________

Realtebo
realtebo non Ŕ collegato   Rispondi citando