Zwei verschiedene Interfaces mit gleichen Methoden

19/01/2009 - 09:29 von andi rickenbach | Report spam
Hallo,

ich habe zwei verschiedene Interfaces mit den gleichen Methoden. Das eine
Interface ist für einen WCF Zugriff über IIS und das andere Interface für den
lokalen Zugriff auf eine Klasse.

Obwohl erst zur Laufzeit entschieden wird mit welchem Interface gearbeitet
wird, möchte ich zum entwickeln immer typisiert arbeiten bzw. beide
Interfaces haben ja grundsàtzlich dieselben Implementationen. Wie macht man
sowas?

Eigentlich wollte ich das so anstellen:
Public Function GetInterface(byval bWCF as boolean) as ImyInterface
implements...
If bWCF = True then
return ctype(new myClassClient, ImyInterfaceClient) 'MyClassClient ist
ein Proxy von MyClass
else
return ctype(new myClass, ImyInterface)
end if
End Function
...
Aufruf:
Dim IIF as ImyInterface = GetInterface(True)
z.B. msgbox IIF.GetBaseDirectory... (GetBaseDirectory gibt es in beiden
Interfaces)
...

Hier kommt aber logischerweise der Fehler "Konnte myClassClient nicht in
ImyInterface umwandeln...".

Gibt es da überhaupt Möglichkeiten oder mach ich da was unmögliches?

Danke.
 

Lesen sie die antworten

#1 Thorsten Doerfler
19/01/2009 - 09:52 | Warnen spam
andi rickenbach schrieb:
ich habe zwei verschiedene Interfaces mit den gleichen Methoden. Das eine
Interface ist für einen WCF Zugriff über IIS und das andere Interface für den
lokalen Zugriff auf eine Klasse.

Obwohl erst zur Laufzeit entschieden wird mit welchem Interface gearbeitet
wird, möchte ich zum entwickeln immer typisiert arbeiten bzw. beide
Interfaces haben ja grundsàtzlich dieselben Implementationen. Wie macht man
sowas?



Normalerweise macht "man" sowas, dass zwei verschiedene
Implementierungen MyWebClass und MyClientClass ein gemeinsames Interface
IMyClass implementieren.

Gibt es da überhaupt Möglichkeiten oder mach ich da was unmögliches?



Du denkst da anscheinend nur etwas komplizierter als nötig, oder ich
habe Dich falsch verstanden.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen