Tôi gặp rắc rối với enums trong C#Tại sao C# enums của tôi không hoạt động?
Tôi có một enum ở đây:
namespace Project.Shared
{
public enum CostType
{
Dollars,
Percent
}
}
tôi có một đối tượng đang cố gắng sử dụng enum ở đây:
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'
}
}
}
Điều này dẫn đến một lỗi:
'int' does not contain a definition for 'Dollars' and no extension method 'Dollars' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?)
Tôi không hiểu tại sao tôi không thể sử dụng m y enum ở đó. Ai đó có thể giúp giải thích cho tôi?
Đây có thể là gợi ý rằng bạn không nên sử dụng cùng tên cho enum như đối với thuộc tính. –
Tại sao bạn muốn lưu trữ giá trị dưới dạng int nếu bạn có enum và bạn muốn giá trị enum? – WestDiscGolf
Vì EntityFramework không hỗ trợ ánh xạ tới Enums. – quakkels