Forums Neueste Beiträge
 

Prüfung auf 2 Interfaces zur Compile-Zeit

02/06/2009 - 10:31 von Thomas Schremser | Report spam
Hallo allerseits!

In meinem Programm habe ich zwei public Interfaces (IIPer, IIRec). Manche
meiner Klassen implementieren nur eines davon, manche beide.

Nun möchte ich einer Methode ein Objekt übergeben, das beide Interfaces
implementieren muß. Derzeit löse ich das so, daß ich den Parameter als
IIPer definiere und in der Methode prüfe, ob das übergebene Objekt auch
IIRec implementiert.

Mir wàre es aber lieber, wenn ich die Prüfung schon zur Compile-Zeit
vornehmen könnte. Der einzige Weg der mir dazu enfàllt, wàre ein Interface
zu definieren, das von IIPer und IIRec abgeleitet ist und den Parameter
mit diesem zu definieren. Weil die beiden Interfaces aber logisch an
sich nicht viel miteinander zu tun haben, gefàllt mir diese Lösung aber
nicht. Gibts noch einen anderen Weg oder muß ich bei meiner Laufzeit-Prüfung
bleiben?

TIA

Grüße
Thomas

Any problem in computer science can be solved with another layer
of indirection. But that usually will create another problem.
David Wheeler
 

Lesen sie die antworten

#1 Markus Springweiler
02/06/2009 - 12:30 | Warnen spam
Thomas,

In meinem Programm habe ich zwei public Interfaces (IIPer, IIRec). Manche
meiner Klassen implementieren nur eines davon, manche beide.

Nun möchte ich einer Methode ein Objekt übergeben, das beide Interfaces
implementieren muß. Derzeit löse ich das so, daß ich den Parameter als
IIPer definiere und in der Methode prüfe, ob das übergebene Objekt auch
IIRec implementiert.



Du könntest das über einen generischen Parameter lösen:

public void TuWas<T>(T input) where T : IIPer, IIRec {}

/\/\arkus.

Ähnliche fragen