代码之家  ›  专栏  ›  技术社区  ›  Anton

枚举范围声明错误

  •  -1
  • Anton  · 技术社区  · 14 年前

    我有带枚举的命名空间:

    namespace Search
    {
        enum SearchConditionType
        {
            Like = 0,
            EqualNotString = 1,
            EqualString = 2
        };
    }
    

    然后我尝试声明枚举:

    namespace Search
    {
    
        public partial class Controls_SelectYesNo : System.Web.UI.UserControl
        {
    
            public SearchConditionType Field;
            ...
    

    并得到一个错误:

    类型或命名空间名称“”未能 找不到(是否缺少使用 指令或程序集引用?)

    怎么了?

    4 回复  |  直到 14 年前
        1
  •  3
  •   James Curran    14 年前
     enum SearchConditionType 
    

    枚举不是公共的。

        2
  •  1
  •   Oded    14 年前

    制作枚举 public :

    public enum SearchConditionType
    {
        Like = 0,
        EqualNotString = 1,
        EqualString = 2
    };
    

    没有访问修饰符的类型默认为 internal 在C语言中。

    如果文件在不同的程序集中,则需要添加对包含枚举的程序集的引用。这可以通过 References 解决方案资源管理器中项目的节点。

        3
  •  0
  •   Randolpho    14 年前

    隐马尔可夫模型。。。你 正在尝试将内部类型公开为公共类型。这是我在代码中看到的唯一问题。但它不应该导致您提供的编译器错误,所以我想问题可能在您的代码中的其他地方。

    编辑 :是否尝试在其他程序集中公开枚举?这会导致您列出的错误。所以,是的,把枚举公开。

        4
  •  0
  •   Anton    14 年前

    下一个问题是:我从网站制作了一个Web应用程序。在网站中,Enums位于app_code文件夹中。当我重命名这个文件夹时-问题就消失了。