C#-全局内部常量

本文关键字:常量 内部 全局 C#- | 更新日期: 2023-09-27 18:00:37

我正在尝试执行以下操作:

[FooAttribute(Value = String.Format("{0} - {1}", myReources.BaseString, "Bar"))]
public int FooBar { get; set; }

编译器会抱怨。。。那么,当我把BaseString放在一个位置时,正确的方法是什么?我的代码在库中的属性上到处都是属性,所以"全局"内部常量听起来像是解决方案,因为我不能使用资源。

C#-全局内部常量

不能有字符串这样的表达式。设置属性格式。。。但以下内容应该有效:

public class MyResources
{
    public const string BaseString = "there";
}
[FooAttribute(Value = MyReources.BaseString + " - Bar"))]
public int FooBar { get; set; }

如果删除字符串。格式化并使用基本的字符串串联,编译器不会抱怨。由于字符串。格式在运行时解析,而不是在编译时解析,不能在属性中使用它。编译器将识别出这两个myResources。BaseString和"Bar"是常数值,因此这样做是合法的。

[FooAttribute(Value = myReources.BaseString + "Bar")]