95
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu
Ví dụ dưới đây trình bày cách sử dụng phương thức
ExecuteAssembly
để nạp và thực thi một
assembly. Lớp
ExecuteAssemblyExample
tạo một
AppDomain
và thực thi chính nó trong
AppDomain
bằng phương thức
ExecuteAssembly
. Kết quả là có hai bản sao của
ExecuteAssemblyExample
được nạp vào hai miền ứng dụng khác nhau.
using System;
public class ExecuteAssemblyExample {
public static void Main(string[] args) {
// Nếu assembly đang thực thi trong một AppDomain
// có tên thân thiện là "NewAppDomain"
// thì không tạo AppDomain mới. Điều này sẽ
// tránh một vòng lặp vô tận tạo AppDomain.
if (AppDomain.CurrentDomain.FriendlyName != "NewAppDomain") {
// Tạo miền ứng dụng mới có tên là "NewAppDomain".
AppDomain domain = AppDomain.CreateDomain("NewAppDomain");
// Thực thi assembly này trong AppDomain mới và
// truyền mảng các đối số dòng lệnh.
domain.ExecuteAssembly("ExecuteAssemblyExample.exe",
null, args);
}
// Hiển thị các đối số dòng lệnh lên màn hình
// cùng với tên thân thiện của AppDomain.
foreach (string s in args) {
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName +
" : " + s);
}
}
}
7.
7.
Th hi n hóa m t ki u trong mi n ng d ng khác
ể ệ
ộ ể
ề ứ
ụ
Th hi n hóa m t ki u trong mi n ng d ng khác
ể ệ
ộ ể
ề ứ
ụ
Bạn cần thể hiện hóa một kiểu trong một miền ứng dụng khác vơi miền ứng
dụng hiện hành.