置換FormattableString特定の文字列域

開発する世界のためのいくつかのソフトウェアシステムなので、異なる領域に異なる言語に基づいていくつかの文字列の特定の処理をする必要があります。コードの量は、異なる言語の異なる領域の文字列処理方法で書かれている場合、それぞれが膨大です。我々は特性深い補間文字列を使用することができ、この時間は非常に、C#の文字列補間結果は、暗黙的に文字列またはFormattableStringに変換されます。
たとえば、次の例で、補間結果は、文字列型の文字列になります。

string message = $"我的名字叫 {name} ";

符号列次補間の結果がFormattableStringオブジェクトに変換されます。

FormattableString message= $"我的名字叫 {name} ";

私たちは、暗黙的にローカル変数を入力宣言し、結果がそれに割り当てられた文字列に挿入されている場合、実際には、補間文字列の結果は、暗黙的に文字列型に変換されます。番組情報の操作の種類に応じて異なるコードを生成するコンパイラが出力されなければなりません。プログラム・コードの文字列形式の文字列を作成するために、コンピュータがプログラムを実行する領域の位置に応じて生成されてもよいです。開発者は、書き込み又はFormttableString stritgコードにコンパイラ生成型決意機構を使用することができます。

public static string ToGerman(FormattableString fts)
{
    return string.Format(null,System.Globalization("de-de"),fts.Format.fts.GetArguments());
}

我々は、上記のコードの方法、型FormattableStringのパラメータを受け取る文字列を返す形式になりますドイツ語の文字列を定義します。どのような結果にI列補間はこのメソッドを直接呼び出すことができます。我々は同様の方法を書くときのノートに二つのことが必要です。

  1. ある場合は、コンパイラへの過負荷の文字列パラメータの型がパラメータとして文字列型の方法を優先させて頂きますので、これらのメソッドにパラメータとして文字列を入力するためにオーバーロード書き込まないでください。
  2. 文字列が左側に文字列を生成した場合の側は、オペレータを検討する文字列をFormattableStringされている場合、コンパイラが生成されるように決定されるため、これらの方法は、スケーラブルなアプローチとして設計することができません。
  3. より多くの記事のために世間の注目のスキャンコード番号を喜ば:「ニャーT-ヨ」 3Fn2bd.jpg

204元記事公開 ウォンの賞賛101 ビューに35万+を

おすすめ

転載: blog.csdn.net/gangzhucoll/article/details/104713390
おすすめ