Wrapper für Resources in Class-Lib?

08/02/2009 - 14:14 von Olaf Rabbachin | Report spam
Huhu!

Ich habe hier eine Class-Library mit diversen Controls. In diesen Controls
verwende ich eine Reihe an GIFs und PNGs, diese befinden sich wiederum in
einer xy.resx des Projektes. Ich möchte nun, dass ein die Library
verwendender Benutzer diese Bilder verwenden kann.
Über den My-namespace geht das, wenn ich in der Designerklasse (xy.resx.vb)
die Klasse wie auch die Properties von Friend auf Public àndere. Das
allerdings ist ...
a) mühsam, sobald eine Änderung vorgenommen wird und der Assi die
Klasse àndert (und alles wieder mit <Friend> neu erzeugt)
b) umstàndlich/unbefriedigend, weil der Verwender Zugriff nur á la
<Namespace.My.xy.Resourcename> zugreifen kann

Es stellt sich also die Frage, ob's evt. eine Möglichkeit gibt, einen
Wrapper o.Ä. zu basteln, der die Resources nach außen publiziert. Dabei
wàre das Ziel jedoch, keine Code-Änderungen am Wrapper vornehmen zu müssen,
wenn Änderungen an den Resourcen selbst vorgenommen werden und VS die
xy.Designer.vb neu erzeugt.

Bin da momentan absolut ideen-, bzw. ansatzlos. Hat das jemand evt. schon
mal gemacht ..?

Gruß,
Olaf
 

Lesen sie die antworten

#1 Thorsten Doerfler
08/02/2009 - 15:03 | Warnen spam
Olaf Rabbachin schrieb:
Ich habe hier eine Class-Library mit diversen Controls. In diesen Controls
verwende ich eine Reihe an GIFs und PNGs, diese befinden sich wiederum in
einer xy.resx des Projektes. Ich möchte nun, dass ein die Library
verwendender Benutzer diese Bilder verwenden kann.
Über den My-namespace geht das, wenn ich in der Designerklasse (xy.resx.vb)
die Klasse wie auch die Properties von Friend auf Public àndere. Das
allerdings ist ...
a) mühsam, sobald eine Änderung vorgenommen wird und der Assi die
Klasse àndert (und alles wieder mit <Friend> neu erzeugt)



Es gibt im Ressourcen Designer oben in der Symbolleiste eine
Auswahlliste "Access Modifier" in der u.a. auch "Public" angeboten wird.

b) umstàndlich/unbefriedigend, weil der Verwender Zugriff nur á la
<Namespace.My.xy.Resourcename> zugreifen kann



Làßt sich für den Nutzer durch eine Imports-Anweisung verkürzen:

Imports LibraryResources = <Namespace.My.Resources>
[...]

xy = LibraryResources.ResourceName

Wàre IMO der komfortabelste Ansatz für Dich als Entwickler, wie auch für
den Nutzer.

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