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

102
Chương 3: Miền ứng dụng, cơ chế phản chiếu, và siêu dữ liệu

miền ứng dụng gọi phương thức

SetData

hay

GetData

để truy xuất vung đệm dữ liệu của miền

ứng dụng khác, thì đối tượng dữ liệu phải hỗ trợ ngữ nghĩa marshal-by-value hay marshal-by-
reference
, nếu không thì ngoại lệ

System.Runtime.Serialization.SerializationException

sẽ bị ném (xem mục 3.3 để biết thêm chi tiết về cách truyền đối tượng qua các miền ứng
dụng). Đoạn mã sau trình bày cách sử dụng phương thức

SetData

GetData

để truyền một

System.Collections.ArrayList

giữa hai miền ứng dụng.

using System;

using System.Reflection;

using System.Collections;

public class ListModifier {

public ListModifier () {

// Nhận danh sách từ đệm dữ liệu.

ArrayList list =

(ArrayList)AppDomain.CurrentDomain.GetData("People");

// Thay đổi danh sách.

list.Add("Tam");

}

}

public class PassDataExample {

public static void Main() {

// Tạo một miền ứng dụng mới.

AppDomain domain = AppDomain.CreateDomain("Test");

// Tạo một ArrayList và thêm thông tin vào.

ArrayList list = new ArrayList();

list.Add("Phuong");

list.Add("Phong");

list.Add("Nam");

// Đặt danh sách vào vùng đệm dữ liệu của miền ứng dụng mới.

domain.SetData("People", list);

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.