Load dll động với C#
Giới thiệu
Khi bạn build 1 project dạng Class Library, kết quả không phải là file .exe mà là 1 thư viện .dll (Assembly). Điều bạn cần quan tâm tới dll này là gì khi sử dụng?
Code
Mình sẽ không đưa lên cùng lúc source code mà sẽ đưa lên 1 mẫu nhỏ và giải thích nó
Đây là khuôn mẫu hàm xử lý của dll. Kiểu return là object vì bạn không biết cái hàm trong dll bạn load lên sẽ trả về thứ gì cả. Các tham số còn lại đã được giải thích ở trên.
Tiếp theo là khai báo một số đồ chơi
OK, mình có biến trả về, thông tin về phương thức, khởi tạo, đối tượng, tham số ...Các bạn sẽ biết tác dụng của nó ngay sau đây.
Đoạn này đơn giản là nếu không thấy file .dll nào có tên thì ghi lỗi và trả về null.
Đoạn code parameters.GetUpperBound(0) + 1
chính là lấy số lượng tham số truyền vào.
Cuối cùng là xử lý với các dữ liệu lấy được
Có vẻ đơn giản quá nhỉ :))
Test
Đầu tiên là 1 class library để test
Tiếp theo là test library này
Chú ý: Ở đây mình kiểm tra reObj != null
chỉ là để test phương thức trả về kiểu đã biết. Nếu như phương thức của bạn trả về void
thì đoạn kiểm tra này phá sản. Và file dll của TestLib phải đặt cùng thư mục với file thực thi của ứng dụng.
.png)
.png)
Đoạn code trên là load động nhưng có vẻ nó vẫn hơi bị động. Giải pháp đưa ra là sử dụng FileSystemWatcher
để xem xét những file nào thay đổi, kết hợp với WindowsService
để chạy một cách tự động. Nếu "rảnh" mình sẽ viết về cái này.
tempceKplosko Aleksandra Jimenez click here
ReplyDeletelseatsigosbio
chondrioMstilwa Jay Sharp AirDroid 3.7.1.1
ReplyDeleteNorton Security
Prima Cartoonizer 4.4.3
DesignCAD 3D Max
lopapaber