Mã này có hành vi được xác định rõ trong C# không làm việc:Tại sao trong C# có vấn đề trật tự cho khởi tạo tĩnh?
class Foo
{
static List<int> to = new List<int>(from); // from is still null
static IEnumerable<int> from = Something();
}
Lưu ý: Tôi không yêu cầu làm thế nào để khắc phục điều đó mã như I already known how to do that
sự biện minh cho điều này là gì? C# đã chạy kiểm tra thời gian để phát hiện truy cập đầu tiên tới các thành viên tĩnh. Tại sao không mở rộng điều này cho một điều mỗi thành viên và họ có chạy theo yêu cầu hoặc thậm chí tốt hơn có trình biên dịch tìm ra thứ tự tại thời gian biên dịch?
BTW: Tôi nghĩ cùng một câu hỏi (hoặc gần như giống nhau) cũng giữ cho các thành viên không tĩnh.
Tôi nghĩ bạn trả lời chính mình bằng cách nói đây là 'hành vi được xác định rõ'. – mayu