Có thể nào đó các thuộc tính có thể tham chiếu lẫn nhau trong khi tạo
một đối tượng động
một đối tượng ẩn danh (tức là bên trong bộ khởi tạo đối tượng)? Ví dụ đơn giản của tôi dưới đây cần sử dụng lại thuộc tính Age
mà không thực hiện cuộc gọi thứ hai nặng tới GetAgeFromSomewhere()
. Tất nhiên nó không hoạt động. Bất kỳ đề xuất về cách thực hiện điều này?Các thuộc tính có thể bên trong một bộ khởi tạo đối tượng tham chiếu lẫn nhau không?
var profile = new {
Age = GetAgeFromSomewhere(id),
IsLegal = (Age>18)
};
là một cái gì đó như thế này có thể hoặc không thể xảy ra với
đối tượng năng động
nặc danh, đánh máy initializers đối tượng?
Gán kết quả của 'GetAgeFromSomewhere' thành biến trong câu lệnh riêng trước đó. –
Điều này cũng không liên quan trực tiếp đến các loại động nhưng khởi tạo. – CSharpie
@CSharpie Sử dụng kiểu khai báo tĩnh, OP có thể vừa tạo ra 'IsLegal' một thuộc tính phái sinh:' public bool IsLegal {get {return Age> 18; }} ' –