Περισσότερα
Κλήση του βασικού κατασκευαστή σε C#
Αν κληρονομήσω από μια βασική κλάση και θέλω να περάσω κάτι από τον κατασκευαστή της κληρονομούμενης κλάσης στον κατασκευαστή της βασικής κλάσης, πώς το κάνω αυτό;
Για παράδειγμα,
Αν κληρονομήσω από την κλάση Exception θέλω να κάνω κάτι τέτοιο:
class MyExceptionClass : Exception
{
public MyExceptionClass(string message, string extraInfo)
{
//This is where it's all falling apart
base(message);
}
}
Βασικά αυτό που θέλω είναι να μπορώ να περάσω το μήνυμα string στην βασική κλάση Exception.
1388
3
Τροποποιήστε τον κατασκευαστή σας με τον ακόλουθο τρόπο ώστε να καλεί σωστά τον κατασκευαστή της βασικής κλάσης:
Σημειώστε ότι ένας κατασκευαστής δεν είναι κάτι που μπορείτε να καλέσετε οποιαδήποτε στιγμή μέσα σε μια μέθοδο. Αυτός'είναι ο λόγος για τον οποίο λαμβάνετε σφάλματα στην κλήση σας στο σώμα του κατασκευαστή.
Σημειώστε ότι μπορείτε να χρησιμοποιήσετε στατικές μεθόδους μέσα στην κλήση του βασικού κατασκευαστή.
Μπορείτε να περάσετε εσωτερική εξαίρεση σε έναν από τους κατασκευαστές.