Programmierung mit MLKeys
Klasse MLKeys
Framework Studio generiert aus dem Wörtebuch eine Klasse MLKeys
, die alle MLKeys beinhaltet. Sie wird im Compile-Schritt Ressource compiliert und steht somit in der kompletten Applikation zur Verfügung.
Sie erbt die MLKeys aus dem Basis-Package - so z.B. auch die SYS_
-Keys aus dem System-Package.
Die Klasse wird z.B. folgendermaßen verwendet:
MLUtil.GetMLText(
MLKeys.LBL_Amount
);
Alle Quellcodes, die mit MLKeys arbeiten, greifen auf diese Klasse zu - sowohl selbst geschriebener Methoden-Code als auch der von Framework Studio generierte Code. Dadurch findet der CSharp-Compiler alle Probleme, die im Zusammenhang mit MLKeys auftreten können:
- Compile-Error, wenn ein MLKey nicht mehr existiert. Auch wenn diese z.B. in einem Metadatentypen oder einem Form-Control verwendet werden.
- Eine Obsolete-Warning, wenn ein mit einer Obsolete-Message versehener MLKey verwendet wird. Die Obsolete-Message wird als
Obsolete
-Attribut vor den MLKey generiert. - Eine Warning, wenn in einem Customizing-Package ein identischer MLKey definiert ist.
Die generierte MLKeys
-Klasse sieht in etwa so aus:
public class MLKeys : BasisPackage_MLKeys
{
public static readonly MLKey LBL_Amount = new MLKey("LBL_Amount");
public static readonly MLKey LBL_Article = new MLKey("LBL_Article");
public static readonly MLKey TTT_Article = new MLKey("TTT_Article");
public static readonly MLKey MSG_0da9815a719049ae806d3c0ba7d824ff = new MLKey("MSG_0da9815a719049ae806d3c0ba7d824ff");
public static readonly MLKey MSG_0f2ad9d4385b49fc9667ed7eff2d925f = new MLKey("MSG_0f2ad9d4385b49fc9667ed7eff2d925f");
[Obsolete("Please use LBL_Amount")]
public static readonly MLKey LBL_Amount2 = new MLKey("LBL_Amount2");
}
Warning
Es sollten keine eigenen MLKey-Instanzen aus Strings erzeugt werden. Diese können vom Compiler nicht validiert werden.
Code Editor
Der Code-Editor bietet diverse Unterstützung bei der Arbeit mit der Klasse MLKeys
.
Im Intellisense werden alle MLKeys angeboten und im jeweiligen Tooltip wird zur besseren Orientierung der deutsche Text angezeigt.
Fährt man mit der Maus über einen MLKey, dann wird ein Info-Tooltip mit dem deutschen Text angezeigt.
Wird auf einem MLKey der Befehl Go To Definition ausgeführt, dann öffnet sich der Multilanguage Text Editor und es wird der entsprechende Eintrag selektiert.
Methoden an der MLUtil Klasse
Die MLUtil Klasse bietet mehrere Methoden an, mit denen ein MLKey in ein Text überführt werden kann.
- GetMLText(mlkey)
- GetMLText(mlkey, iso)
- GetMLKeyText(mlkey)
- FormatMLText(mlkey, args)
- FormatMLKeyText(mlkey, args)
Für die Format-Funktionen wird die Client-Culture verwendet. Für die Verwendung einer spezifischen Culture gibt es entsprechende Überladungen:
cGlobal EntryPoint
In der Klasse cGlobal
gibt es einen zentralen Entry-Point GlobalGetMLText. Dieser wird JEDES MAL aufgerufen, wenn aus einem MLKey ein Text erzeugt wird.