Các công cụ sửa đổi truy cập như public
, private
không được phép trên các hàm tạo tĩnh trong C#. Tuy nhiên, phân tích mã Visual Studio có cảnh báo trong danh mục bảo mật C# có nội dung "CA2121: Static constructors should be private".Làm cách nào để các nhà thầu tĩnh có thể được tạo ra không riêng tư?
Có thể tạo một hàm tạo tĩnh không riêng tư không? Hoặc là một lỗi của phân tích mã Visual Studio?
CLARIFICATION: Tôi không cố gắng tạo bất kỳ nhà xây dựng nào không riêng tư. Vậy tại sao?" câu hỏi không liên quan. Tôi chỉ tò mò về sự mâu thuẫn giữa hai công cụ của Microsoft và muốn xem liệu có bất kỳ điều gì tôi không biết về cách các nhà thầu tĩnh được xử lý hay không.
Trích dẫn từ liên kết ở trên: 'Người dùng không có quyền kiểm soát khi nào hàm dựng tĩnh được gọi. Nếu một hàm tạo tĩnh không phải là private, nó có thể được gọi bằng mã khác với hệ thống. Tùy thuộc vào các hoạt động được thực hiện trong hàm tạo, điều này có thể gây ra hành vi không mong muốn.' – Tisho
Tôi nghĩ, báo giá liên quan là "Quy tắc này được thực thi bởi trình biên dịch C# và Visual Basic .NET". Vì vậy, không, bạn không thể làm cho nó không riêng tư trong C#. – Henrik