Tôi có thể sử dụng Type.InvokeMember
để gọi phương thức qua phản xạ và có vẻ khá mạnh mẽ, xử lý thông số mảng param chẳng hạn. Tuy nhiên, vì lý do nào đó, nó không xử lý các tham số tùy chọn.Gọi phương thức với các tham số tùy chọn thông qua sự phản chiếu
Có cách tiếp cận tích hợp nào tốt hơn để gọi phương thức (có lẽ sử dụng DLR) có tính đến các tham số tùy chọn không?
Bạn có thể gọi type.GetMethod (...) để lấy một thể hiện MethodInfo. Sau đó, bạn có thể gọi methodInfo.Invoke(), với các tham số tùy chọn, bạn có thể vượt qua Type.Missing –
Nhưng điều này đòi hỏi tôi phải nỗ lực lặp lại tất cả các trường hợp có thể của phương thức và làm việc nếu các tham số của tôi phù hợp với tùy chọn thông số. Về cơ bản làm ràng buộc bằng tay đó là những gì tôi đang làm vào lúc này. Có vẻ như Type.InvokeMember chạy 90% và sau đó thất bại. Nhìn vào bản sao nó xuất hiện tôi đang mắc kẹt làm nó bằng tay cho bây giờ. –