我正在开发一个小工具来管理连接在网络上的几台计算机。该实用程序在UI上有一个“添加计算机”按钮,允许用户配置新计算机。
我有一个名为component的类:
public class component
{
public string name { get; set; }
public string ip { get; set; }
public string room { get; set; }
bla bla
}
请保持我绝对不是专业人士,如果这个问题听起来很愚蠢,请原谅我。
我遇到的第一个问题是:如何在运行时创建同一个类的多个实例?我想到的是使用深度克隆,使用序列化和反序列化。这是一个好方法吗?
第二个问题。让我们说在运行时我设法创建了我的克隆,并且我的网络中的每台计算机都有一个对象。如何创建包含所有这些对象的文件?我该如何序列化它们?
我不是在寻找代码,而只是为了让我指向正确方向的人,因为我很确定我的方法并不是最好的。欢迎提出所有建议。
非常感谢!
答案 0 :(得分:0)
好的,如何创建我的班级实例
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
}
答案 1 :(得分:0)
要在程序中存储同一个类的多个实例,您需要一个名为List的对象(here MSDN参考和here快速教程)。 要存储列表,您有多种选择:使用xml,json,protobuf protocol等序列化和反序列化,这是您的选择。