Table of Contents

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>: -> ". Dadurch wird es möglich, Warnungen nur für bestimmte Subjekte (z.B. Event-Handler) auszuschalten.

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();
}