每当我尝试将可选参数的默认值设置为资源文件中的某些内容时,我都会收到以下编译时错误
“message”的默认参数值必须是编译时常量。
有什么方法可以改变资源文件的工作方式来实现这一点吗?
public void ValidationError(string fieldName,
string message = ValidationMessages.ContactNotFound)
在这之中,ValidationMessages
是一个资源文件。
一种选择是设置默认值null
然后适当地填充它:
public void ValidationError(string fieldName, string message = null)
{
string realMessage = message ?? ValidationMessages.ContactNotFound;
...
}
当然,这只有在你不想允许的情况下才有效null
作为真正的价值。
另一个潜在的选择是进行预构建步骤,创建一个包含以下内容的文件const
基于资源的字符串;然后你可以引用这些常量。但这会相当尴尬。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)