Erweiterung der "#pragma warning" -Direktive
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 21.0.0.11226
- Veröffentlichungsdatum: Sonntag, 20. November 2016
- Entwickler: Fischer
- Benötigt Datenbankänderung: Nein
- Betreff: Ausschalten von Warnungen kann auf bestimmte Subjekte beschränkt werden
Beschreibung
Es ist jetzt möglich ein Subjekt anzugeben in der Form "#pragma warning (<disable/enable>:
Beispiel:
Klasse 'Outside_area' erbt für das Event 'EntityStoring' drei Event-Handler der Basisklassen 'Rent_object', 'Area' und 'Outdoor_facility'. Nur der Event-Handler '::Outdoor_facility::onEvent_EntityStoring' soll aufgerufen werden, die anderen Event-Handler nicht. Beim generellen Ausschalten der Warnung 21 (InheritedEventHandlerNotCalled) wird die Warnungen für alle Basisklassen-Event-Hander unterdrückt. Wird später die Vererbung geändert (andere/neue Basisklassen usw.) werden keine Warnungen für neu geerbte Basisklassen-Event-Hander ausgegeben.
Durch Angabe des Event-Handler als Subjekt kann die Warnung nur für diese ausgeschalten werden.
Beispielcode
void onEvent_EntityStoring()
{
// Warnungen der beiden übergangenen Event-Handler ausschalten
//
#pragma warning (disable: 21 -> ::Rent_object::onEvent_EntityStoring)
#pragma warning (disable: 21 -> ::Area::onEvent_EntityStoring)
// Diese Event-Handler werden nicht aufgerufen
//
// ::Rent_object::onEvent_EntityStoring();
// ::Area::onEvent_EntityStoring();
// Statt dessen findet hier eine spezielle Behandlung statt
//
....
// Der Aufruf Event-Handler der Basisklasse 'Outdoor_facility' wird nicht ersetzt.
//
::Outdoor_facility::onEvent_EntityStoring();
}