Tôi có một lớp học với một giá trị bất động sản như thế này:Cách sử dụng MethodInfo.Invoke để đặt giá trị thuộc tính?
public class MyClass {
public property var Value { get; set; }
....
}
Tôi muốn sử dụng MethodInfo.Invoke() để thiết lập giá trị bất động sản. Dưới đây là một số mã:
object o;
// use CodeDom to get instance of a dynamically built MyClass to o, codes omitted
Type type = o.GetType();
MethodInfo mi = type.GetProperty("Value");
mi.Invoke(o, new object[] {23}); // Set Value to 23?
Tôi không thể truy cập công việc của mình ngay bây giờ. Câu hỏi của tôi là làm thế nào để thiết lập giá trị với một giá trị số nguyên như 23?
Sử dụng PropertyInfo.SetValue, như đã đề cập dưới đây. Nếu bạn đã từng thấy rằng bạn bị ràng buộc khi sử dụng một đối tượng MethodInfo, hãy lấy phương thức "get" của thuộc tính (PropertyInfo.GetGetMethod()), và gọi nó như trên. –