Tại sao không đóng #region
gây ra lỗi trình biên dịch? Xét cho cùng, bản thân khu vực này hoàn toàn không ảnh hưởng đến mã được biên dịch, đúng không?Tại sao #region tạo lỗi biên dịch?
Tôi tin rằng đó là vì nó là một chỉ thị tiền xử lý, nhưng tại sao lại như vậy? Nó không được sử dụng như các chỉ thị khác sau khi tất cả.
class Application
{
#region Whatever <- Causes an error.
static void Main(string[] c)
{
}
}
Tại sao nó không thể bỏ qua? Hoặc là có một tính năng tôi không biết về #region
giải thích tại sao nó được biên dịch?
Chỉnh sửa: Tôi nhận được ví dụ này không biên dịch vì không có #endregion
tương ứng. Nhưng nó không nên được coi là một thẻ đóng bị thiếu trong một bình luận xml? Ý tôi là, nó có cùng tầm quan trọng phải không?
Chỉnh sửa lần thứ hai: Tôi đang tìm hiểu quyết định thiết kế sau khi thực hiện #region
chỉ thị tiền xử lý. Tại sao không chỉ là một loại bình luận mà IDE sẽ nhận ra là một vùng mã có thể bị sụp đổ?
Nó không biên dịch vì bộ tiền xử lý mong đợi một cái gì đó ở đó, và nó không thể tìm thấy nó, do đó, nó lỗi. Bạn nói đúng là nó không sửa đổi mã, tuy nhiên bộ tiền xử lý cần xem thẻ kết thúc phù hợp. –
Không, tầm quan trọng của chỉ thị tiền xử lý rất khác với thẻ nhận xét xml không khớp. – jrummell
@ jrummell thực sự, theo ý kiến của tôi, đó là ngược lại. – AgentFire