Someone once said:pháp tốt nhất để sử dụng các biến toàn cục trong C#
một "biến toàn cầu" thực sự là một biến bạn tạo chỉ đơn giản là "giữ một số thông tin" vì mô hình đối tượng của bạn là yếu, và bạn chưa tìm thấy một "mục đích thực sự" cho biến tồn tại. Biến toàn cầu hầu như luôn là dấu hiệu của một biến dạng kiến trúc lớn hơn.
That might be true. Nhưng tôi không biết bất kỳ ví dụ hay về bất kỳ chương trình lớn và tốt nào được tạo ra mà không có biến toàn cục, và chắc chắn không được sử dụng nhiều như đề xuất ở trên. Scope is the actual key. Bạn có thể nói in a program with only one class rằng thông số của nó là not global vars. Nhưng chúng.
Dù sao ...
tôi vẫn đang nắm các khái niệm về singleton và, như xa như tôi có thể nói, họ actually làm cho không có ý nghĩa trong C#. Ngoài ra, tôi có cảm giác rằng khi không thể tránh được trạng thái toàn cầu, chúng tôi vẫn nên tránh sử dụng một lớp học công cộng đầy đủ là static properties:
Vì vậy, nếu không phải là người độc thân hay lớp công khai, chúng ta nên làm gì có vars toàn cầu trong C#?
Và khi nào chúng ta phải sử dụng chúng? Giả sử họ có nhiều khả năng không thể tránh được. Không bao giờ.
Và tại sao chúng ta nên tránh sử dụng một số static class hoặc static
nói chung? Nếu đó thực sự là trường hợp của C#.
Trong một câu: Các phương pháp hay nhất về việc sử dụng các biến toàn cục trong Csharp là gì?
Về mặt kỹ thuật, không có biến số nào như một biến toàn cục trong C#, tất nhiên chúng có thể là toàn cầu đối với một lớp và được công khai, về cơ bản cũng đạt được điều tương tự, nhưng lại giảm xuống một chút. –
Tại sao không đơn giản trong C#? –
Mặc dù được viết tốt và theo cách chính xác, tôi nghĩ câu hỏi này không áp dụng cho trang web này? – gbianchi