如何在资源文件中使用字符串插值?

时间:2018-02-17 19:46:59

标签: c# variables string-formatting interpolation resource-files

我想使用资源文件发送电子邮件。在我的资源文件中,我使用了一个变量" EmailConfirmation"值为" Hello {userName} ..."

在我的班上,我用过:

public static string message (string userName)
{
   return Resource.WebResource.EmailConfirmation
}

问题是返回表示" Hello {userName}"而不是" Hello Toto"。

1 个答案:

答案 0 :(得分:10)

您无法在资源上下文中使用字符串插值。但是,您可以通过使用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))