AutomationElement的序列化

时间:2013-07-30 13:55:09

标签: c# serialization automation datacontractserializer

有没有办法序列化AutomationElement对象并使用DataContractSerializer将其写入文件?

我使用UIAutomation Com Wrapper我可以尝试将[serializable]标签添加到库的每个元素中,但我担心它不会起作用。

现在我的自定义可序列化对象中有kAutomationElement字段,但是当它写入时,它表示成员也必须是可序列化的。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

AutomationElement是一个密封类。您不能对其进行子类化或向现有元素添加属性。

DataContractSerializer期待......一个DataContract! (属性)。

因此,您将无法使用DataContractSerializer。 但是......我认为没有什么可以阻止您使用BinaryFormatter

如果您尝试将状态持久化到磁盘,则二进制可能是您唯一的选择,除非您创建自己的可序列化类并手动将AutomationElement对象映射到它。

或者......如果您只是想跳过序列化kAutomationelement,请添加IgnoreDataMemberAttribute