xem xét mã này:SetValue trong phản ánh trong C#
var future = new Future();
future.GetType().GetProperty(info.Name).SetValue(future, converted);
Trong đoạn mã trên, chúng tôi phải vượt qua hai đối số cho SetValue
. Đầu tiên, đối tượng mà chúng ta muốn thiết lập thuộc tính của nó. Thứ hai, giá trị mới. Nhưng chúng tôi chọn thuộc tính cụ thể.
Tại sao chúng ta phải chuyển tham số đầu tiên để đặt giá trị khi chúng tôi đã đặt đối tượng tương lai trước đó !?
Phản ánh sẽ phức tạp hơn nếu mọi đối tượng phải nhớ * cách nó thu được, chỉ để nó có thể sử dụng thông tin được giữ lại sau đó thay vì yêu cầu lại thông qua tham số. I E. có nhiều cách để có được một 'Loại', không phải tất cả đều yêu cầu một thể hiện kiểu đó trước. –