静态只读字典出错

时间:2012-09-24 14:05:09

标签: c# dictionary static readonly public

编译这些代码时出错:

using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace test
{
    public class testing
    { 
        public static readonly string IN_TABLE_KEY = "IN";
        public static readonly string OUT_TABLE_KEY = "OUT";
        public static readonly string TODAY_TABLE_KEY = "TODAY";
        public static readonly Dictionary<string, string> TEST =
            new Dictionary<string, string>()
            {
                { IN_TABLE_KEY, "TEST1"},
                { OUT_TABLE_KEY, "TEST2"},
                { TODAY_TABLE_KEY, "TEST3"}
            };
    }
}

我真的不明白,这段代码只是不会编译,我不知道这个错误是关于语法还是代码中的其他地方。

这里是我得到的语法错误:

  

预期   类,结构或接口成员声明中的标记“{”无效   命名空间不直接包含诸如字段或方法之类的成员   类型或命名空间定义,或期望的文件结尾

谢谢。

3 个答案:

答案 0 :(得分:0)

似乎您将声明放在类声明之外。

试试这个:

namespace MyNamespace
{
   public class MyClass
   {
      public static readonly string IN_TABLE_KEY = "IN";
      public static readonly string OUT_TABLE_KEY = "OUT";
      public static readonly string TODAY_TABLE_KEY = "TODAY";
      public static readonly Dictionary<string, string> TEST = 
          new Dictionary<string, string>()
             {
                { IN_TABLE_KEY, "TEST1" },
                { OUT_TABLE_KEY, "TEST2" },
                { TODAY_TABLE_KEY, "TEST3" }
             };
   }
} 

答案 1 :(得分:0)

查看错误,看起来您忘记将其放在类中,或忘记命名空间声明。

您不能在.NET中使用全局词典

答案 2 :(得分:0)

尝试在类中声明它,而不是在我在下图中显示的任何方法中声明它。

enter image description here