Runtime error zu vermeiden

Zu erst hallo an alle :slight_smile:

Ich hab’ ein großes Problem. Ganz am Anfang muss ich mein Struktur erklären.
In mein Program habe ich Schnittstellen, die die Sprache für den Leuten definieren. Die Leute werden das alles in Classe A benutzen. Fast alle Schnittstellen haben Implementierung.

Wie das aussieht :

Interfaces : IA, IB und IC , wo in IA findet man


public interface A
{
IAB B { get;  set; }
IAC C { get;  set; }
}

Implementierung : A , wo alles von IA implementiert ist, und in A findet man :


//constructor
public A_impl()
{
	B = new AB_impl();
}
//members
public IAB	B { get;  set; }
public IAC	C { get;  set; }

Jetzt , wenn ich in andere Klasse bin , wo natürlich alle Verweise da sind und mache :


//constructor
 public Example()
        {
          A = new A_impl();
        }
//member
public IA A { get; set; }

später in eine Methode rufe ich es so ab :


A.B.property_X = 2; // OK
A.C.property_Z = 2; // Runtime Error

Es gibt kein Build Error ich kriege Runtime Error und das ist ja vollig in Ordnung.

Allerdings möchte ich es schon bei der Generirung sehen, das ich ein Objekt benutze, der kein Instanz hat.

Als Erklärung ich möchte es genau so machen, aber möchte kein Runtime Error zu haben. Wie kann ich und was kann ich es machen , um dieses Fehler schon bei der Genrierung zu sehen.

VG
Marceli

Sowas kannst du nur zur Laufzeit sehen, weil du kannst ja im Code alles mögliche machen ohne das der Compiler davon was mitbekommt.

na ja , danke für deine Antwort.

Ich hab gedacht es gibt schon was um das Nullreferenzierung zu sehen.

Schade ;(

Das war ich :

[QUOTE=Unregistriert]na ja , danke für deine Antwort.

Ich hab gedacht es gibt schon was um das Nullreferenzierung zu sehen.

Schade ;([/QUOTE]

Entschuldigung , hab ich nicht gesehen , dass ich nicht angemeldet war.

[QUOTE=Unregistriert]

Ich hab gedacht es gibt schon was um das Nullreferenzierung zu sehen.

Schade ;([/QUOTE]

Wie soll denn das gehen? Der Compiler verfügt doch über keine hellseherischen Eingebungen…:smiley:
Erst, wenn er seine Arbeit gemacht hat, weiß er bescheid und somit auch du.
Eine Referenz auf null zu testen ist kein Ding, aber wie eagle schon sagt, das Programm reagiert erst zur Laufzeit.

Edit: Doch, es gibt eine Möglichkeit - debuggen.