Tôi đã cố gắng thêm các mục vào IList thông qua phản ánh, nhưng trong khi gọi phương thức "Thêm", lỗi đã được gửi "đối tượng ref. Not set". Trong khi gỡ lỗi tôi đã biết rằng GetMethod ("Add") đã trả về một tham chiếu NULL.Thêm các mục vào Danh sách <T> bằng cách sử dụng phản chiếu
Type objTyp = typeof(MyObject); //HardCoded TypeName for demo purpose
var IListRef = typeof (List<>);
Type[] IListParam = {objTyp};
object Result = IListRef.MakeGenericType(IListParam);
MyObject objTemp = new MyObject();
Result.GetType().GetMethod("Add").Invoke(Result, new[] {objTemp });
Xin vui lòng trợ giúp.
Tôi đã làm việc khá một chút với sự phản ánh một lúc trước, và tôi đi đến kết luận rằng tôi không thích sự quá tải của 'GetMethod (chuỗi)', bởi vì tôi không bao giờ biết nếu nó sẽ trở lại. Hãy thử sử dụng 'GetMethod (string, Type [])' hoặc 'GetMethod (string, BindingFlags)'. Có thể không làm cho nó hoạt động, và có thể chỉ là tôi nuôi ong hoang tưởng, nhưng tôi nhớ có rất nhiều sự nhầm lẫn về các vấn đề tương tự trước đây. – Alxandr