如何在资源文件中使用字符串插值?
How to use string interpolation in a resource file?
我想使用资源文件来发送电子邮件。在我的资源文件中,我使用了一个值为 "Hello {userName} ... "
的变量 "EmailConfirmation"
在我的 class 中,我使用了:
public static string message (string userName)
{
return Resource.WebResource.EmailConfirmation
}
问题是 return 说的是 "Hello {userName}" 而不是 "Hello Toto"。
您不能在资源上下文中使用字符串插值。但是,您可以通过使用 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))
我想使用资源文件来发送电子邮件。在我的资源文件中,我使用了一个值为 "Hello {userName} ... "
的变量 "EmailConfirmation"在我的 class 中,我使用了:
public static string message (string userName)
{
return Resource.WebResource.EmailConfirmation
}
问题是 return 说的是 "Hello {userName}" 而不是 "Hello Toto"。
您不能在资源上下文中使用字符串插值。但是,您可以通过使用 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))