簡體   English   中英

C#-序列化同一類的多個對象

[英]C# - Serialize multiple objects of the same class

我正在使用一個小型實用程序來管理網絡上連接的幾台計算機。 該實用程序在UI上將具有一個“添加計算機”按鈕,該按鈕允許用戶配置新計算機。

我有一個叫做component的類:

public class component
{

public string name { get; set; }
public string ip { get; set; }
public string room { get; set; }

bla bla


}

請保持絕對不是專業人士,如果問題聽起來很愚蠢,請原諒我。

我遇到的第一個問題是:如何在運行時創建同一類的多個實例? 我發現是使用具有序列化和反序列化功能的深層克隆。 這是一個好方法嗎?

第二個問題。 假設在運行時我成功創建了克隆,並且網絡中的每台計算機都有一個對象。 如何創建包含所有這些對象的文件? 如何序列化它們?

我不是在尋找代碼,而是在尋找指向正確方向的人,因為我敢肯定我的方法並不是最好的。 歡迎所有建議。

非常感謝!

好的,如何創建我的課程的實例

var myInstance = new MyClass();

如何將MyClass實例序列化到文件

    var instance= new MyClass(); // <- instance
    using (var sw = new StreamWriter("Path_to_file"))
    {
        var ser = new XmlSerializer(typeof(MyClass));
        ser.Serialize(sw, instance);
    }

如何從文件讀取MyClass實例

    using (var sr = new StreamReader("path_To_file"))
    {
        var ser = new XmlSerializer(typeof(MyClass));
        var myInstance = ser.Deserialize(sr) as T; // <- instance
    }

要在程序中存儲同一類的多個實例,您需要一個名為List的對象( 此處為MSDN參考, 此處為快速教程)。 要存儲列表,您有多種選擇:使用xmljsonprotobuf協議等進行序列化和反序列化,這是您的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM