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

612
Chương 16: Các giao diện và mẫu thông dụng

// Phương thức khởi dựng dùng để kích hoạt formatter thực hiện việc

// giải tuần tự hóa một đối tượng Employee. Bạn nên khai báo

// phương thức khởi dựng này là private, hay ít nhất cũng là

// protected để bảo đảm nó không bị gọi quá mức cần thiết.

private Employee(SerializationInfo info, StreamingContext context) {

// Trích xuất tên và tuổi của Employee (sẽ luôn hiện diện

// trong dữ liệu đã-được-tuần-tự-hóa bất chấp giá trị

// của StreamingContext).

name = info.GetString("Name");

age = info.GetInt32("Age");

// Thực hiện trích xuất địa chỉ của Employee

// (thất bại nếu không có).

try {

address = info.GetString("Address");

} catch (SerializationException) {

address = null;

}

}

// Các thuộc tính Name, Age, và Address (đã trình bày ở trên).

§

// Được khai báo bởi giao diện ISerializable, phương thức

// GetObjectData cung cấp cơ chế để formatter thu lấy

// dữ liệu sẽ-được-tuần-tự-hóa.

public void GetObjectData(SerializationInfo inf,

StreamingContext con){

// Luôn tuần tự hóa tên và tuổi của Employee.

inf.AddValue("Name", name);

inf.AddValue("Age", age);

// Không tuần tự hóa địa chỉ của Employee nếu StreamingContext

// cho biết rằng dữ liệu được-tuần-tự-hóa sẽ được ghi ra file.

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.