Vui lòng xem câu hỏi được nhúng trong nhận xét bên dưới.Khi chuỗi một hàm tạo cơ sở, làm cách nào tôi có thể sử dụng lại mã khởi tạo trong quá tải
public class CustomException : Exception
{
private readonly string _customField;
public CustomException(string customField, string message)
: base(message)
{
// What's the best way to reuse the customField initialization code in the
// overloaded constructor? Something like this(customField)
}
public CustomException(string customField)
{
_customField = customField;
}
}
Tôi đang mở để xem xét các triển khai thay thế sử dụng lại hàm tạo cơ sở và giảm thiểu mã khởi tạo. Tôi muốn giữ _customField chỉ đọc, điều này là không thể nếu tôi trích xuất một phương thức khởi tạo riêng biệt.
Lỗi biên dịch: Một trường chỉ đọc không thể được gán cho (ngoại trừ trong một hàm tạo hoặc một bộ khởi tạo biến). Như đã đề cập trong câu hỏi của tôi, tôi muốn giữ cho trường chỉ đọc. –
@ ZaidMasud Không, không có lỗi biên dịch. Trong 'Init',' _customField' là tham số 'out' tham chiếu đến trường, nhưng không phải là trường. – hvd
Ahh ... xem chỉnh sửa ngay bây giờ. Cú pháp thú vị để xem tham số là cả một tham số và cũng không phải là một tham số. Cần phải kiểm tra điều này. –