Tôi thích initializer cú pháp C# 3 và sử dụng nó rất nhiều, nhưng hôm nay khi nhìn trong Reflector, sau đây đã đưa ra:Initializer cú pháp
var binding = new WSHttpBinding
{
ReaderQuotas = { MaxArrayLength = 100000 },
MaxReceivedMessageSize = 10485760
};
Lúc đầu, tôi nghĩ đó là một sai lầm, nhưng nó biên dịch ! Đoán tôi vẫn đang học những thứ mới mọi lúc. :)
Từ những gì tôi có thể biết, nó đặt thuộc tính MaxArrayLength
của thuộc tính ReaderQuotas
của WSHttpBinding
.
Cú pháp này có tạo đối tượng ReaderQuotas
mới và sau đó đặt thuộc tính hoặc nó có giả định thuộc tính được khởi tạo không? Đây có phải là cách chung mà người ta sẽ sử dụng để khởi tạo các thuộc tính 'con'?
tôi không tìm thấy cú pháp một chút bối rối ...
Bạn có thể quan tâm đến [bài đăng này] (http: //www.codeducky.org/even-concise-c-object-initializers /), thảo luận về ngữ nghĩa và trường hợp sử dụng cho kiểu khởi tạo này – ChaseMedallion