Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Khả năng liên tác và mã lệnh không được quản lý Microsoft .NET phần đầu docx
MIỄN PHÍ
Số trang
8
Kích thước
185.7 KB
Định dạng
PDF
Lượt xem
908

Tài liệu Khả năng liên tác và mã lệnh không được quản lý Microsoft .NET phần đầu docx

Nội dung xem thử

Mô tả chi tiết

Chương 15 : Khả năng liên tác và mã lệnh không được quản lý

Microsoft .NET Framework là một nền cực kỳ cao vọng, là sự kết hợp của một ngôn ngữ

mới (C#), một bộ thực thi được-quản-lý (CLR), một nền cho các ứng dụng Web

(Microsoft ASP.NET), và một thư viện lớp rất lớn để xây dựng tất cả các kiểu ứng dụng.

Tuy nhiên, .NET Framework không lặp lại các tính năng có trong mã lệnh không-được￾quản-lý. Hiện thời, .NET Framework không bao gồm mọi hàm có trong Win32 API, trong

khi nhiều doanh nghiệp đang sử dụng các giải pháp phức tạp được xây dựng với các ngôn

ngữ dựa-trên-COM như Microsoft Visual Basic 6 và Microsoft Visual C++ 6. May mắn

là Microsoft không có ý để những doanh nghiệp đó bỏ đi nền tảng mã lệnh mà họ đã xây

dựng khi chuyển sang nền .NET. Thay vào đó, .NET Framework được trang bị với các

tính năng interoperability (khả năng liên tác), cho phép bạn sử dụng lại mã lệnh cũ

(legacy code) trong các ứng dụng .NET Framework và truy xuất các assembly .NET như

thể chúng là các thành phần COM. Chương này sẽ thảo luận các vấn đề sau:

„ Cách gọi các hàm thuộc DLL không-được-quản-lý (mục 15.1 đến 15.5).

„ Cách sử dụng thành phần COM trong ứng dụng .NET Framework (mục 15.6 đến

15.8).

„ Cách sử dụng điều kiểm ActiveX trong ứng dụng .NET Framework (mục 15.9).

„ Cách tạo một thành phần .NET sao cho một COM-client có thể sử dụng nó (mục

15.10).

1.1 Gọi một hàm trong một DLL không-được-quản-lý

V Bạn cần gọi một hàm C trong một DLL. Đây có thể là một hàm của Win32 API

hoặc do bạn viết.

# Khai báo một phương thức trong mã C# mà bạn sẽ sử dụng để truy xuất hàm

không-được-quản-lý. Khai báo phương thức này là static và extern, áp dụng

đặc tính System.Runtime.InteropServices.DllImportAttribute để chỉ định file

DLL và tên của hàm cần dùng.

Để sử dụng một hàm C từ một thư viện ngoài, bạn chỉ cần khai báo nó một cách thích

hợp. CRL sẽ tự động đảm trách phần việc còn lại, bao gồm việc tải DLL vào bộ nhớ khi

hàm được gọi và chuyển các thông số từ kiểu dữ liệu .NET thành kiểu dữ liệu C.

Dịch vụ .NET hỗ trợ việc thực thi xuyên-nền này có tên là PInvoke (Platform Invoke), và

quá trình này thường là trong suốt đối với người sử dụng. Thỉnh thoảng, bạn sẽ cần thực

hiện thêm một số việc, chẳng hạn cần hỗ trợ cấu trúc trong-bộ-nhớ (in-memory

structure), callback, hay chuỗi có thể thay đổi (mutable string).

Tải ngay đi em, còn do dự, trời tối mất!