CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 38

38
Chương 1: Phát triển ứng dụng

Biên dịch các kiểu được viết trong C# thành một dạng có thể sử dụng lại

được trong các ngôn ngữ .NET khác.

Sử dụng các kiểu được phát triển bằng một ngôn ngữ khác bên trong ứng

dụng C# của bạn.

Sử dụng đối số

/target:module

(của trình biên dịch C#) để xây dựng mã nguồn

C# của bạn thành một module. Sử dụng đối số

/addmodule

để kết hợp các module

hiện có vào assembly của bạn.

Module là các khối cơ bản tạo dựng nên các assembly .NET. Module bao gồm một file đơn
chứa:

Mã ngôn ngữ trung gian (Microsoft Intermediate LanguageMSIL): Được tạo từ mã
nguồn C# trong quá trình biên dịch.

Siêu dữ liệu (metadata): Mô tả các kiểu nằm trong module.

Các tài nguyên (resource): Chẳng hạn icon và string table, được sử dụng bởi các kiểu
trong module.

Assembly gồm một hay nhiều module và một manifest. Khi chỉ có một module, module và
manifest thường được xây dựng thành một file cho thuận tiện. Khi có nhiều module, assembly
là một nhóm luận lý của nhiều file được triển khai như một thể thống nhất. Trong trường hợp
này, manifest có thể nằm trong một file riêng hay chung với một trong các module.
Việc xây dựng một assembly từ nhiều module gây khó khăn cho việc quản lý và triển khai
assembly; nhưng trong một số trường hợp, cách này có nhiều lợi ích, bao gồm:

Bộ thực thi sẽ chỉ nạp một module khi các kiểu định nghĩa trong module này được yêu
cầu. Do đó, khi có một tập các kiểu mà ứng dụng ít khi dùng, bạn có thể đặt chúng
trong một module riêng mà bộ thực thi chỉ nạp khi cần. Việc này có các lợi ích sau:

Tăng hiệu quả thực thi, đặc biệt khi ứng dụng được nạp qua mạng.

Giảm thiểu nhu cầu sử dụng bộ nhớ.

Khả năng sử dụng nhiều ngôn ngữ khác nhau để viết các ứng dụng chạy trên bộ thực thi
ngôn ngữ chung (Common Language RuntimeCLR) là một thế mạnh của .NET
Framework
. Tuy nhiên, trình biên dịch C# không thể biên dịch mã nguồn được viết
bằng Microsoft Visual Basic .NET hay COBOL .NET trong assembly của bạn. Bạn phải
sử dụng trình biên dịch của ngôn ngữ đó biên dịch mã nguồn thành MSIL theo một cấu
trúc mà trình biên dịch C# có thể hiểu được—đó là module. Tương tự, nếu muốn lập
trình viên của các ngôn ngữ khác sử dụng các kiểu được phát triển bằng C#, bạn phải
xây dựng chúng thành một module.

Để biên dịch file nguồn ConsoleUtils.cs thành một module, sử dụng lệnh:

csc /target:module ConsoleUtils.cs

Lệnh này sẽ cho kết quả là một file có tên là ConsoleUtils.netmodule. Phần mở rộng
netmodule là phần mở rộng mặc định cho module, và tên file trùng với tên file nguồn C#.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.