如何序列化.net对象的成员

本文关键字:成员 对象 net 序列化 | 更新日期: 2023-09-27 17:53:22

我有一个类,它有一个System.Diagnostics.Process类型的字段。我想序列化我的对象,但这似乎不可能。有可能吗1. 通过其属性process. startinfo . filename序列化成员进程当我反序列化,我想尝试重制进程使用FileName,使用它的构造函数。

给出一些示例代码

 public class Job{
     /*[something like SerializeMember("StartInfo.FileName")]*/
     /*[something like DeserializeMember(new Process(value))]*/
     System.Diagnostics.Process process;
     string name;
 }

如果有更好的方法,请随意添加

如何序列化.net对象的成员

我认为您可以通过创建要序列化的属性来实现这一点,然后在一组属性上尝试启动进程。下面是它的半伪代码…

 public class Job{
     [XmlIgnore]
     System.Diagnostics.Process process;
     public ProcessFileName
     {
         get {return process.StartInfo.FileName;}
         set { process = Process.Start(value); }
     }
 }

也许添加一个属性会有所帮助。

public SomeSerializableClass SerializedProcess 
{
  get {
     ConvertProcessToSomeSerializableClass(process);
  }
  set {
      process = ConvertSomeSerialzableClassToProcess(value);
  }
}

然后在process上添加属性[XmlIgnore]