VS2008 und #If ... #End If bzw. Klassenabhängigkeiten

29/08/2009 - 10:29 von Andreas Mahub | Report spam
Hi,

ich habe hier eine Klasse in meinem Projekt, welche ausschließlich für die
Dateiverwaltung zustàndig ist. Dort ist unter anderem eine Eigenschaft,
nennt sich FileIcon. Für was diese ist, dürfte klar sein.

Dann habe ich eine Klasse in meinem Projekt, welche ausschließlich für die
Ordnerverwaltung zustàndig ist. Dort ist auch eine Eigenschaft, nennt sich
FolderIcon.

Beide Eigenschaften greifen auf eine weitere Klasse zu, welche zum ziehen
der Icons zustàndig ist.

So, jetzt sagen wir mal, ich möchte eine Konsolenanwendung erstellen. Jetzt
wàre es ja "quatsch", die Klasse, die für das holen der File- bzw.
FolderIcon's mit in das Projekt zu ziehen.

Wie mache ich das aber dem VS2008 bzw. Compiler klar? Die File- bzw.
Folder-Klasse möchte natürlich irgendwann die andere Klasse aufrufen. Jetzt
meckert natürlich der Compiler das diese gar nicht da ist.

Elegant (also ich jedenfalls) würde ich es finden wenn ich sagen könnte:
#If ClassInProject("MeineKlassen.FileTools.FileIcons") = True Then
...
Kram der dann eingebunden werden kann
...
#End If

Gibt es natürlich so nicht. Aber ich denke, jeder dürfte verstanden haben
was ich haben möchte und ob es dafür eine Lösung gibt :-) :-)

Gruß
Andy
 

Lesen sie die antworten

#1 Armin Zingler
29/08/2009 - 12:49 | Warnen spam
Andreas Mahub schrieb:
Elegant (also ich jedenfalls) würde ich es finden wenn ich sagen könnte:
#If ClassInProject("MeineKlassen.FileTools.FileIcons") = True Then
...
Kram der dann eingebunden werden kann
...
#End If

Gibt es natürlich so nicht. Aber ich denke, jeder dürfte verstanden haben
was ich haben möchte und ob es dafür eine Lösung gibt :-) :-)



Ich denke, es gibt dafür keine Lösung. :-) Das sind feste Abhàngigkeiten.

Wenn man Klassen mehrfach braucht, dann steckt man sie ohnehin in eine DLL.

Es gibt auf jeder Ebene immer die Möglichkeit, dass nur ein Teil der
Funktionalitàt gebraucht wird. Wann braucht nicht alles Features eines
Programms, alle Klassen einer Dll oder alle Methoden einer Klasse, aber
das finde ich jetzt auch nicht schlimm.


Armin

Ähnliche fragen