Tôi đã làm việc với một nhà phát triển đã có nhiều năm kinh nghiệm trong C# của tôi. Tôi không còn cách nào để liên lạc với anh ta nữa và tôi nhớ anh ta nói rằng không nên đưa mã vào một tham số mặc định là ít hàm tạo nhưng tôi không thể nhớ lý do tại sao.Thực hành kém để bao gồm mã trong hàm dựng mặc định
Thực hành tốt hay thực hành không tốt để bao gồm mã trong hàm dựng mặc định trong C# hoặc bất kỳ ngôn ngữ nào cho vấn đề đó?
Có tầm quan trọng đáng kể, nhà xây dựng không được ném ngoại lệ. Nếu bất kỳ phần nào của việc khởi tạo có thể ném, hãy quấn trong một thử/nắm bắt và xử lý nó. – GalacticCowboy
@GalacticCowboy: Ngược lại, nếu hàm tạo không có khả năng khởi tạo đối tượng đúng cách, nó * nên * ném một ngoại lệ. Đó là cách duy nhất mà nhà xây dựng có thể giữ cho đối tượng không được tạo ra. Xem ví dụ: http://stackoverflow.com/questions/3629849/throwing-argumentnullexception-in-constructor – Guffa
Ah, đủ rồi. Tôi đã căn cứ vào bộ nhớ của tôi về một quy tắc FxCop, nhưng nó thực sự ném vào * static * constructors - một ngoại lệ trong một constructor tĩnh sẽ dẫn đến kiểu bị phá vỡ cho toàn bộ miền ứng dụng. – GalacticCowboy