Je crée une classe pour gérer une exception en C # et je voudrais créer des méthodes de constructeur qui rappelle la superclasse; C'est la définition de ma classe: mais depuis en c # il n'y a pas de super méthode ce que je suis censé appeler pour obtenir les méthodes de constructeur de system.exception code> ? p> p>
3 Réponses :
en général le mot clé base code> est ce que vous voulez. Vérifiez http://msdn.microsoft.com/en-us/library/ hfw7t1ce (v = vs.71) .aspx p>
Vous appelez un constructeur parent à l'aide de évidemment, vous ne ont em> pour simplement passer un paramètre à partir de votre propre constructeur en tant qu'argument sur le constructeur de base: p> L'équivalent à la chaîne à un constructeur de la classe actuelle est utiliser Notez que le constructeur chaînage fonctionne très em> légèrement différemment en C # par rapport à Java, avec Respectez lorsque les initialisateurs variables d'instance sont exécutés. Voir mon Article sur C # constructeurs pour plus de détails. P> P> P > base code> avant em> le corps du constructeur:
ceci code> au lieu de
base code>. p>
class DataSourceNotFoundException: System.Exception { public DataSourceNotFoundException() : base() { //some code } public DataSourceNotFoundException(string message, object other) : base(message) { //some code }
Non directement liée à la question, mais l'extrait «Exception» dans Visual Studio est très utile, elle génère des constructeurs (4) qui appellent la base CTOR, ainsi que la CTOR pour le support de sérialisation.