リソースファイルを使用してメールを送信したいと思います。リソースファイルで、値が「Hello {userName} ...」の変数「EmailConfirmation」を使用しました。
私のクラスで使用したもの:
public static string message (string userName)
{
return Resource.WebResource.EmailConfirmation
}
問題は、戻り値が「HelloToto」ではなく「Hello {userName}」と表示されることです。
リソースのコンテキストで文字列補間を利用することはできません。ただし、string.Format
を使用することで、必要なことを実現できます。次のようなものをリソースファイルに書き込みます。
Hello {0}
次に、以下のように使用します。
public static string message (string userName)
{
return string.Format(Resource.WebResource.EmailConfirmation, userName);
}
更新
必要な数のパラメーターを追加できます。例えば:
Hello {0}, Confirm your email: {1}
そして、それを次のように使用できます。
string.Format(Resource.WebResource.EmailConfirmation
, userName
, HtmlEncoder.Default.Encode(link))