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

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

using System;

using System.Runtime.Serialization;

// Đánh dấu CustomException là Serializable (khả-tuần-tự-hóa).

[Serializable]

public sealed class CustomException : ApplicationException {

// Các thành viên dữ liệu tùy biến cho CustomException.

private string stringInfo;

private bool booleanInfo;

// Ba phương thức khởi dựng chuẩn; chỉ cần gọi phương thức

// khởi dựng của lớp cơ sở (System.ApplicationException).

public CustomException() : base() {}

public CustomException(string message): base(message) {}

public CustomException(string message, Exception inner)

: base(message, inner) {}

// Phương thức khởi dựng giải tuần tự hóa (cần cho giao diện

// ISerialization). Vì CustomException là sealed nên phương thức

// khởi dựng này là private. Nếu CustomException không phải là

// sealed thì phương thức khởi dựng này nên được khai báo là

// protected để các lớp dẫn xuất có thể gọi nó trong quá trình

// giải tuần tự hóa.

private CustomException(SerializationInfo info,

StreamingContext context) : base (info, context) {

// Giải tuần tự hóa mỗi thành viên dữ liệu tùy biến.

stringInfo = info.GetString("StringInfo");

booleanInfo = info.GetBoolean("BooleanInfo");

}

// Các phương thức khởi dựng cho phép mã lệnh thiết lập

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.