私は次の問題にどのように最善のアプローチがあるのだろうと思っていました。文字列を異なる言語に変換できるクラスがあるとします。特定のセットからオプションを選択する
string MyString = "Hello".Translate(Languages.European.Italian);
上記のとおり、私が翻訳したい言語は、ヨーロッパタイプのネストされたイタリア語です。ここでは「動く」ものの例です。
public struct Languages
{
public struct Asian
{
public enum Chinese{ Cantonese, Mandarin };
}
public enum European { Italian, German };
}
これらのオプションを保存または整理する最良の方法は何ですか?
編集: この例の意図はよく説明されていません。 acutal言語の翻訳はintのような単純な値を持つでしょう。私の全体的な目的は、列挙型に階層を追加するものとして記述することができます。うまくいけば、次の例は、問題をより良く説明するのに役立ちます...現在私の仕事では、特定の人に関するノートをDBに書き込むために以下の構造を扱います。
public struct NoteTypes
{
public struct Client
{
public static ID = 1;
}
public struct CustomerService
{
public static ID = 2;
}
}
WriteToDB(new Note("Hello World", NoteTypes.CustomerService.ID));
私はこの方法が奇妙に見えるので、これを行うより良い方法があると考えていました。
この記事では、列挙型に似たものを作成する方法について説明しました。 http://www.codeproject.com/KB/cs/EnhancedEnums.aspx
ご迷惑をおかけして申し訳ありません。
です。あなたは彼らと何をしたいですか? – SLaks
私はこの種のマルチレベル構造を使用しません。なぜなら、実際にあなたの目的のためにそれを必要とせず、最終的には非常にスケーラブルであるからです。 私はすべての言語を1つの静的なクラスに保つか、 'static string Translate(この文字列text、CultureInfo cultureInfo)'のような 'CultureInfo'クラスを使用します。 –