Verwendung von verschiedenen LL-Versionen in einer .NET Anwendung

Fragestellung

Seit List & Label 26 lautet das Namensschema, welchem alle List & Label-Klassen folgen, combit.Reporting. Im Idealfall ermöglicht das eine Aktualisierung der verwendeten Hauptversion von List & Label ohne Code-Änderungen (abgesehen von der Eigenschaft LicensingInfo), da die List & Label Versionsnummer seitdem nicht mehr im Namespace enthalten ist (man denke z. B. an combit.ListLabel25, welches man per Suchen & Ersetzen an allen Stellen im Code anpassen musste).

Aus diversen Gründen kann es jedoch notwendig sein, unterschiedliche Hauptversionen von List & Label in einer Anwendung zu verwenden, beispielsweise zu Testzwecken. Wie aber anstellen, wenn es nur den einen Namespace gibt?

Lösung

Die Lösung liegt in der Verwendung von Aliasen. Wir zeigen Ihnen, wie das in nur wenigen Schritten umzusetzen ist:

Schritt 1

Fügen Sie die verschiedenen List & Label Assemblies als Referenz dem Projekt hinzu.

Schritt 2

Öffnen Sie den Eigenschaften-Explorer für die jeweilige Assembly und ändern Sie die Eigenschaft Alias von global auf eine selbstgewählte Alias-Bezeichnung, beispielsweise ListLabel26 bzw. ListLabel27.

Schritt 3

Zeit den Code anpassen. Die gewählte Alias-Bezeichnung kann nun über das extern-Schlüsselwort oberhalb der using-Anweisungen verwendet werden:

extern alias ListLabel26;
extern alias ListLabel27;

Schritt 4

Innerhalb der using-Anweisungen kann nun der jeweilige Alias für den Namespace combit.Reporting verwendet werden:

using ll26 = ListLabel26::combit.Reporting;
using ll27 = ListLabel27::combit.Reporting;

Schritt 5

Anschließend kann, wie bisher gewohnt, das jeweilige List & Label Objekt erstellt werden:

try
{
	using (ll26.ListLabel LL = new ll26.ListLabel())
	{
		LL.DataSource = myData();
		LL.Design();
	}
}
catch (ll26.ListLabelException llex)
{
	MessageBox.Show(llex.Message);
}