我有枚举命名空间:
namespace Search
{
enum SearchConditionType
{
Like = 0,
EqualNotString = 1,
EqualString = 2
};
}
然后我尝试声明枚举:
namespace Search
{
public partial class Controls_SelectYesNo : System.Web.UI.UserControl
{
public SearchConditionType Field;
...
出了错误:
类型或命名空间名称''可以 找不到(你错过了使用 指令或程序集引用?)
有什么问题?
答案 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文件夹中。当我重命名此文件夹时 - 问题消失。