枚举范围声明错误

时间:2010-08-27 14:33:15

标签: .net enums scope

我有枚举命名空间:

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 个答案:

答案 0 :(得分:3)

 enum SearchConditionType 

你的枚举不公开。

答案 1 :(得分:1)

制作枚举public

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

C#中没有访问修饰符的类型默认为internal

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

答案 2 :(得分:0)

嗯......你 试图将内部类型公开为公共类型。这是我看到你的代码唯一的问题。但它不应该导致你提供的编译器错误,所以我想也许问题可能在你的代码中的其他地方。

编辑:您是否尝试在另一个程序集中公开枚举?这会导致您列出的错误。所以,是的,只需将枚举公之于众。

答案 3 :(得分:0)

接下来是问题:我从网站上创建了一个Web应用程序。在网站中,枚举位于App_Code文件夹中。当我重命名此文件夹时 - 问题消失。