假设在一个C#程序中,我在我的
app.config
文件中有以下几行代码:<appSettings>
<add key="FormattedString" value="{greeting}, {name}." />
</appSettings>
而在我的代码中,我使用它如下:
private void doStuff()
{
var toBeFormatted = ConfigurationManager.AppSettings["FormattedString"];
string greeting = @"Hi There";
string name = @"Bob";
}
我希望使用toBeFormatted
变量作为一个FormattableString
,以便通过字符串插值来插入变量 - 大致如下:
Console.WriteLine(toBeFormatted);
我尝试了以下方法:
var toBeFormatted = $ConfigurationManager.AppSettings["FormattedString"];
或者
Console.WriteLine($toBeFormatted);
但是这两种方式都会导致错误。有没有一种方法可以让编译器知道toBeFormatted
字符串应该用作FormattableString
?
{MySuperDangerousMethodThatFormatsYourHardDriveAndReturnsAnInt()}
的恐怖。 - Jeroen MostertFormattableStringFactory.Create
可以完成编译器的一些工作,但我仍然无法让它评估属性表达式。 - Eric Falsken