C# 指定执行XML序列化时要包含的属性

C# 指定执行XML序列化时要包含的属性,c#,interface,xml-serialization,C#,Interface,Xml Serialization,我有以下实用程序方法来帮助将对象序列化为XML: public static string Serialize(object input) { if (input != null) { using (var sw = new StringWriter()) { var serializer = new System.Xml.Serialization.XmlSerializer(_type); serializer.Seri

我有以下实用程序方法来帮助将对象序列化为XML:

public static string Serialize(object input) {
    if (input != null) {
        using (var sw = new StringWriter()) {
            var serializer = new System.Xml.Serialization.XmlSerializer(_type);
            serializer.Serialize(sw, input);
            return sw.ToString();
        }
    } else
        return null;
}
这适用于基本类型。但是如果我的类型有一个接口属性,那么它就不能工作。我的类型是否可以实现一个接口,该接口只指定序列化时希望包含的类型的属性

我很感激你的帮助,因为我不知道该怎么做,但这似乎是可能的。谢谢

看一看

属性可用于控制对象的XML序列化 或者从同一组类创建备用XML流

防止使用XmlIgnoreAttribute进行序列化
在某些情况下,可能不需要创建公共属性或字段 连载。例如,字段或属性可用于包含 元数据。在这种情况下,将XmlIgnoreAttribute应用于字段或 属性,XmlSerializer将跳过它

指示XmlSerializer的Serialize方法不序列化 公共字段或公共读/写属性值

类似于示例中的内容

public class Group
{
   // The XmlSerializer ignores this field.
   [XmlIgnore]
   public string Comment;

   // The XmlSerializer serializes this field.
   public string GroupName;
}

如果使用XmlIgnore属性作为类成员的前缀,则XmlSerializer不会对其进行序列化/反序列化。例如:

// Super secret text here, must not be serialised
[XmlIgnore()]
public String SecurityCode = null;

斯奈特,我从来不知道我能做到。谢谢,谢谢。和科林姆说的差不多,但他可以做得更多,哈哈。