c# $ 资源中的字符串

c# $ string in resource

我需要在资源文件中添加$"test message {variable1} and {variable2}"种字符串。
早些时候,这可以使用如下所示的字符串构建器格式来完成

test message {0} and {1}  

让我知道对于 $ string 格式是否有任何替代方法

$"test message {variable1} and {variable2}"string.Format("test message {0} and {1}", variable1, variable2).

的语法糖

您只能将静态值放入资源中。您不能将动态值作为来自动态值的格式化字符串。

如果你真的想为此使用字符串插值,你需要使用格式来键入你的资源并执行如下操作:

string R(FormattableString fs)
{
    return string.Format(Resources.GetString(fs.Format), fs.GetArguments());
}

// uses "test message {0} and {1}" as resource key
R($"test message {variable1} and {variable2}");