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

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

bf = new BinaryFormatter();

phuong = (Employee)bf.Deserialize(str);

str.Close();

Console.WriteLine(phuong);

// Tuần tự hóa Phuong với đích là file. Trong trường hợp này,

// địa chỉ của Phuong sẽ không được tuần tự hóa.

str = File.Create("phuong.bin");

bf = new BinaryFormatter();

bf.Context = new StreamingContext(StreamingContextStates.File);

bf.Serialize(str, phuong);

str.Close();

// Giải tuần tự hóa và hiển thị Phuong.

str = File.OpenRead("phuong.bin");

bf = new BinaryFormatter();

phuong = (Employee)bf.Deserialize(str);

str.Close();

Console.WriteLine(phuong);

Console.ReadLine();

}

}

2.

2.

Hi n th c ki u kh -sao-chép (cloneable type)

ự ể

Hi n th c ki u kh -sao-chép (cloneable type)

ự ể

Bạn cần tạo một kiểu tùy biến cung cấp một cơ chế đơn giản để lập trình viên tạo
bản sao cho các thể hiện của kiểu.

Hiện thực giao diện

System.ICloneable

.

Khi gán một kiểu giá trị sang một kiểu giá trị khác là bạn đã tạo một bản sao của giá trị đó.
Không có mối liên hệ nào giữa hai giá trị—một thay đổi trên giá trị này sẽ không ảnh hưởng
đến giá trị kia. Tuy nhiên, khi gán một kiểu tham chiếu sang một kiểu tham chiếu khác (ngoại
trừ chuỗi—được bộ thực thi xử lý đặc biệt), bạn không tạo một bản sao mới của kiểu tham
chiếu. Thay vào đó, cả hai kiểu tham chiếu đều chỉ đến cùng một đối tượng, và những thay
đổi trên giá trị của đối tượng đều được phản ánh trong cả hai tham chiếu. Để tạo một bản sao
thật của một kiểu tham chiếu, bạn phải “nhái” lại đối tượng mà nó chỉ đến.

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.