如果我尝试
const char NoChar = (char)8470; //№
const char TmChar = (char)8482; //™
const string IdDisplayName = "Clements" + TmChar + ' ' + NoChar;
将会抛出编译错误:
分配给'{0}'的表达式必须是常量
据我所知,这个错误是因为当一个字符被字符串连接操作符(+
)内部调用ToString
时发生的。
我的问题是是否有一种方法(非托管?)可以解决这个问题。
我需要将该常量作为属性传递,并且它应该在客户端生成。
更糟糕的解决方法(将根据您的回答来决定哪个更糟糕...)是子类化该属性(该属性是密封的,需要进行一些反编译和复制粘贴工作),然后将其嵌入为非常量即可。