Một số ưu điểm/nhược điểm khi sử dụng thư viện Reflection.Emit so với CodeDOM để tạo mã động khi chạy là gì?Reflection.Emit vs CodeDOM
Tôi đang cố gắng tạo một số lớp động (tương đối phức tạp) trong một hệ thống dựa trên siêu dữ liệu có sẵn khi chạy ở dạng XML. Tôi sẽ tạo các lớp mở rộng các lớp hiện có trong hội đồng ứng dụng, triển khai các giao diện bổ sung, thêm các phương thức và ghi đè các thành viên ảo và trừu tượng.
Tôi muốn đảm bảo rằng tôi chọn kỹ thuật thích hợp trước khi tôi đi sâu vào quá trình triển khai. Bất kỳ thông tin nào về cách các kỹ thuật tạo mã khác nhau này sẽ khác nhau sẽ hữu ích. Ngoài ra, bất kỳ thông tin nào về các thư viện nguồn mở đơn giản hóa hoặc sắp xếp hợp lý với API làm việc cũng sẽ hữu ích.
Khi đọc điều này, NHibernate là điều đầu tiên xuất hiện trong đầu tôi. Nó có đáng để xem chúng hoạt động như thế nào? – quip
Tôi đang thực sự xem xét điều đó. Họ sử dụng Reflection.Emit, nhưng không rõ tại sao họ lại chọn điều đó so với CodeDOM. – LBushkin