Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Những lớp nào trong C# hỗ trợ Serialize

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    54

    Mặc định Những lớp nào trong C# hỗ trợ Serialize

    Mình muốn Serialize một số lớp nhưng visual studio toàn báo lỗi lớp này không hỗ trợ Serialize. Vậy những lớp nào trong C# hỗ trợ Serialize vậy các bạn?

  2. #2
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    The only requirement in basic serialization is that the object has the SerializableAttribute attribute applied. The NonSerializedAttribute can be used to keep specific fields from being serialized.
    Code:
    http://msdn.microsoft.com/en-us/library/vstudio/ms233843.aspx
    Chỉ có 1 yêu cầu trong việc "tuần tự hóa" là đối tượng phải có thuộc tính ( thuộc tính ở đây không phải là biến thành viên ) SerializableAttribute.

    Ví dụ :

    Visual C# Code:
    1. using System;
    2. using System.IO;
    3. using System.Runtime.Serialization;
    4. using System.Runtime.Serialization.Formatters.Soap;
    5. //using System.Runtime.Serialization.Formatters.Binary;
    6.  
    7. public class Test {
    8.    public static void Main()  {
    9.  
    10.       //Creates a new TestSimpleObject object.
    11.       TestSimpleObject obj = new TestSimpleObject();
    12.  
    13.       Console.WriteLine("Before serialization the object contains: ");
    14.       obj.Print();
    15.  
    16.       //Opens a file and serializes the object into it in binary format.
    17.       Stream stream = File.Open("data.xml", FileMode.Create);
    18.       SoapFormatter formatter = new SoapFormatter();
    19.  
    20.       //BinaryFormatter formatter = new BinaryFormatter();
    21.  
    22.       formatter.Serialize(stream, obj);
    23.       stream.Close();
    24.  
    25.       //Empties obj.
    26.       obj = null;
    27.  
    28.       //Opens file "data.xml" and deserializes the object from it.
    29.       stream = File.Open("data.xml", FileMode.Open);
    30.       formatter = new SoapFormatter();
    31.  
    32.       //formatter = new BinaryFormatter();
    33.  
    34.       obj = (TestSimpleObject)formatter.Deserialize(stream);
    35.       stream.Close();
    36.  
    37.       Console.WriteLine("");
    38.       Console.WriteLine("After deserialization the object contains: ");
    39.       obj.Print();
    40.    }
    41. }
    42.  
    43.  
    44. // A test object that needs to be serialized.
    45. [Serializable()]       
    46. public class TestSimpleObject  {
    47.  
    48.     public int member1;
    49.     public string member2;
    50.     public string member3;
    51.     public double member4;
    52.  
    53.     // A field that is not serialized.
    54.     [NonSerialized()] public string member5;
    55.  
    56.     public TestSimpleObject() {
    57.  
    58.         member1 = 11;
    59.         member2 = "hello";
    60.         member3 = "hello";
    61.         member4 = 3.14159265;
    62.         member5 = "hello world!";
    63.     }
    64.  
    65.  
    66.     public void Print() {
    67.  
    68.         Console.WriteLine("member1 = '{0}'", member1);
    69.         Console.WriteLine("member2 = '{0}'", member2);
    70.         Console.WriteLine("member3 = '{0}'", member3);
    71.         Console.WriteLine("member4 = '{0}'", member4);
    72.         Console.WriteLine("member5 = '{0}'", member5);
    73.     }
    74. }

    Code:
    http://msdn.microsoft.com/en-us/library/vstudio/system.serializableattribute.aspx

Các đề tài tương tự

  1. Serialize List, Dictionary của C# thành binary, Deserialize trong Java. Mong mọi người cùng thảo luận!
    Gửi bởi beginner2011 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 7
    Bài viết cuối: 16-09-2013, 01:26 PM
  2. Truyền Object giữa các project sử dụng Serialize?
    Gửi bởi toan.iter trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 03-09-2011, 12:21 PM
  3. Làm sao để update file nhị phân = Serialize
    Gửi bởi eminter25391 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 11-06-2011, 09:02 PM
  4. serialize và deserialize một list<string> thành dạng xml?
    Gửi bởi kangoo1707 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 16-03-2010, 12:15 AM
  5. BinaryFormatter.Serialize mà không DeSerialize được
    Gửi bởi hungdlbk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 21-09-2009, 09:31 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn