Mục lục:
Định nghĩa - Thuộc tính DLLImport có nghĩa là gì?
Thuộc tính DLLImport là một thẻ khai báo được sử dụng trong C # để đánh dấu một phương thức lớp như được định nghĩa trong thư viện liên kết động bên ngoài (DLL) chứ không phải trong bất kỳ cụm .NET nào.
Thuộc tính DLLImport được sử dụng trong thời gian chạy để gọi một hàm được xuất trong một DLL bên ngoài được triển khai với mã không được quản lý được thực thi bên ngoài sự kiểm soát của thời gian chạy ngôn ngữ chung (CLR). Nó cũng được sử dụng để chỉ định các thông tin khác cần thiết trong khi gọi hàm như gọi quy ước, loại chuyển đổi các tham số được truyền giữa mã được quản lý và không được quản lý, v.v. Do đó, nó được sử dụng để tương tác với mã trong các thành phần không được quản lý và kế thừa trong Windows DLL và được viết bằng C hoặc C ++.
DLLImport rất hữu ích trong các trường hợp chức năng của ứng dụng được quản lý, có mã được thực thi bởi CLR, chỉ có thể được mở rộng bằng cách truy cập và sử dụng lại chức năng của giao diện lập trình ứng dụng Win32 (API) và các mã không được quản lý do người dùng xác định khác được triển khai trong DLL. Điều này có thể tiết kiệm nỗ lực phát triển và sử dụng mã được kiểm tra tốt và mạnh mẽ hiện có mà không cần phát minh lại bánh xe trong một ứng dụng được quản lý. Nó thường là cần thiết trong khi sử dụng DLL không thể được viết lại nhưng có khả năng được sửa đổi.
Techopedia giải thích thuộc tính DLLImport
Thuộc tính DLLImport là một tuyên bố khai báo cho hàm xuất được gọi từ ứng dụng được quản lý. Nó không thể được sử dụng cho một hàm thành viên, đòi hỏi một thể hiện của lớp. Nó được chỉ định tại thời điểm thiết kế trong dấu ngoặc vuông trước khi khai báo phương thức được áp dụng. Cần phải sử dụng chuỗi extern out trước khi khai báo hàm.
Ví dụ, thuộc tính DLLImport có thể được sử dụng trong ứng dụng Windows Forms, đây là một ứng dụng được quản lý để gọi một phương thức của thành phần mô hình đối tượng thành phần (có mã không được quản lý) để thực hiện một số tính toán.
Nó được thiết kế để nhập các DLL truyền thống xuất các hàm của chúng bằng cơ chế xuất Windows DLL gốc. Nó không dành cho việc sử dụng mã trong tập hợp được quản lý (như DLL), có thể được tham chiếu trực tiếp trong dự án của ứng dụng được quản lý.
Thuộc tính DLLImport sử dụng InteropService của CLR, thực thi cuộc gọi từ mã được quản lý sang mã không được quản lý. Nó cũng thông báo cho trình biên dịch về vị trí thực hiện chức năng được sử dụng. Khi hàm bao bọc không được quản lý với thuộc tính này trong mã được quản lý được gọi, CLR sẽ định vị và tải DLL cần thiết. Nó soái ca (chuyển đổi các tham số theo thông số kỹ thuật) và trả lại mã không được quản lý sau khi thực hiện, cùng với chuyển đổi tham số thích hợp.
Trong khi sử dụng thuộc tính DLLImport, cần chú ý sử dụng tên chính xác của DLL và hàm xuất vì lỗi chính tả có thể xảy ra ở những nơi không thể dễ dàng phát hiện ra.
