2010-10-11 25 views
26

Bởi "mặc định" tôi có nghĩa là chỉ sử dụng thuộc tính [Serializable] trên lớp. Tôi muốn nói rằng không, các trường tĩnh sẽ không được tuần tự hóa, nhưng tôi không chắc chắn lắm.Không serialization "mặc định" trong C# serialize trường tĩnh?

+0

Tôi đánh giá cao câu hỏi này b/c bạn có thể dễ dàng tranh luận (như người trả lời không) rằng các trường tĩnh không thuộc về bất kỳ cá thể nào. Tuy nhiên, một khi cũng có thể ngược lại tranh luận rằng các trường tĩnh thuộc về mọi cá thể nếu Kiểu và các cá thể của một kiểu Triết lý trong .NET không được hiểu đúng. Chủ yếu là b/c chính xác là - một triết lý. Tài liệu .NET không làm sáng tỏ rõ ràng điểm này liên quan đến việc tuần tự hóa. – outbred

Trả lời

27

Không; các trường tĩnh không được tuần tự hóa.

. Serialization serial serializes instances; các trường tĩnh không thuộc về một cá thể.

+0

Cảm ơn, đó là khá nhiều những gì tôi muốn làm rõ! –

+2

Không thích hợp, [Tài liệu tham chiếu SerializableAttribute] (http://msdn.microsoft.com/en-us/library/system.serializableattribute%28v=vs.100%29.aspx) cho biết "Tất cả các trường công khai và riêng tư trong một loại được đánh dấu bởi SerializableAttribute được tuần tự hóa theo mặc định ", mà không đề cập đến các trường tĩnh cụ thể. Có tài liệu nào để hỗ trợ thực tế là các trường tĩnh không được tuần tự hóa không? – ALEXintlsos

+2

@ALEXintlsos: Toàn bộ khái niệm về tuần tự hóa là để tuần tự hóa một cá thể. Nó sẽ không có ý nghĩa để lưu trữ các lĩnh vực tĩnh. – SLaks

Các vấn đề liên quan