Eine Klasse auch für WinForms verfügbar machen

06/06/2009 - 17:07 von Andreas Mahub | Report spam
Hallöchen,

ich hatte das schon mal, aber ich komme nicht mehr darauf. Folgendes:
Ich habe ein Admin-Tool geschrieben in VB2008 für WinForms-Anwendungen. Und
ich habe eine Website, ebenfalls in VB2008. Jetzt gibt es eine Klasse welche
sowohl in WinForms funktionieren soll, als auch in ASP.NET. Das Problem, es
gibt eine einzige Zeile wo natürlich der Compiler für WinForms stolpert:
Dim ClientIP as String = Request.UserHostAddress

Jetzt muss ich allerdings noch dazu erwàhnen das diese Methode wo diese
Zeile steht tatsàchlich logischerweise nur in ASP.NET genutzt wird.

Wie kann ich es jetzt aber realisieren das diese Klasse in beiden Varianten
korrekt kompiliert wird? Da war doch mal irgendwas mit Compiler-Regeln oder
so, oder?

Gruß
Andy
 

Lesen sie die antworten

#1 Thomas Bandt
06/06/2009 - 18:15 | Warnen spam
Andreas Mahub schrieb:
ich hatte das schon mal, aber ich komme nicht mehr darauf. Folgendes:
Ich habe ein Admin-Tool geschrieben in VB2008 für WinForms-Anwendungen.
Und ich habe eine Website, ebenfalls in VB2008. Jetzt gibt es eine
Klasse welche sowohl in WinForms funktionieren soll, als auch in
ASP.NET. Das Problem, es gibt eine einzige Zeile wo natürlich der
Compiler für WinForms stolpert:
Dim ClientIP as String = Request.UserHostAddress

Jetzt muss ich allerdings noch dazu erwàhnen das diese Methode wo diese
Zeile steht tatsàchlich logischerweise nur in ASP.NET genutzt wird.

Wie kann ich es jetzt aber realisieren das diese Klasse in beiden
Varianten korrekt kompiliert wird? Da war doch mal irgendwas mit
Compiler-Regeln oder so, oder?



Tja, da gibt's viele Wege. Ein nichtgefrickelter wàre wohl
die Klasse in einer eigenen Bibliothek abzulegen, die in
beiden Anwendungen referenziert ist und jeder Anwendung eine
eigene Implementierung zu spendieren, wobei jede dieser
Implementierungen von der Basisklasse ableiten und nur die
benötigte Methode überschreiben und mit eigener Logik
versorgen könnte. Sofern überhaupt nötig, denn die IP
kannst du auch getrost als Property anlegen und an die
Klasse bei Instanziierung übergeben.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Die ASP.NET-Profis aus Nürnberg
http://blog.thomasbandt.de - Privates Blog

Ähnliche fragen