Tôi đã dành một thời gian cố gắng hiểu tại sao ứng dụng WPF của tôi không được gắn kết với thuộc tính enum một cách hợp lý và đây là nguyên nhân.Tại sao C# cho phép giá trị enum không hợp lệ
static void Main(string[] args)
{
MyEnum x = 0;
Console.WriteLine(x.ToString());
Console.ReadLine();
}
public enum MyEnum
{
First = 1,
Second = 2
}
Về cơ bản vấn đề là không có giá trị mặc định được đặt cho thuộc tính enum trong hàm tạo của lớp tôi đã ràng buộc, vì vậy nó được mặc định bằng không.
Có cách nào tôi có thể nói trình biên dịch C# mà tôi muốn nó chỉ chấp nhận các giá trị hợp lệ (và mặc định là giá trị thấp nhất)? Tôi không muốn tài sản của mình chấp nhận các giá trị không hợp lệ, và tôi không muốn viết mã setter cho mọi thuộc tính sử dụng enum.
Chà, cuối cùng tôi đã tìm thấy thứ gì đó mà tôi nghĩ là tốt hơn Delphi hơn trong C# :) –