我对C语言中的枚举有问题#
我这里有一个枚举:
namespace Project.Shared
{
public enum CostType
{
Dollars,
Percent
}
}
我有一个对象正试图在此处使用枚举:
using Project.Shared;
namespace Project.Shared.FooNamespace
{
public class Foo
{
public int CostType { get; set; }
public Foo()
{
CostType = (int)CostType.Dollars; // <--- error syntax highlighting on 'Dollars'
}
}
}
这将导致错误:
“int”不包含“dollars”的定义,并且找不到接受“int”类型的第一个参数的扩展方法“dollars”(是否缺少using指令或程序集引用?)
我不明白为什么我不能在那里使用枚举。有人能帮我解释一下吗?
最佳答案
因为您的类有这个定义-Foo
-它比您的public int CostType { get; set; }
有更多的本地作用域。
尝试使用其命名空间对其进行完全限定:
CostType = (int)Project.Shared.CostType.Dollars;