0

AutomationElementオブジェクトをシリアライズしてファイルに書き込む方法はありますDataContractSerializerか?

ライブラリのすべての要素にUIAutomation Com Wrapper[serializable] タグを追加しようとしましたが、うまくいかないのではないかと心配しています。

現在、カスタムのシリアライズ可能なオブジェクトに kAutomationElement フィールドがありますが、それを記述すると、メンバーもシリアライズ可能でなければならないと書かれています。

何か案は?

4

1 に答える 1

0

AutomationElement はシール クラスです。サブクラス化することも、既存の要素に属性を追加することもできません。

DataContractSerializer は期待しています... DataContract! (属性)。

したがって、DataContractSerializer を使用することはできません。しかし... BinaryFormatterの使用を妨げるものは何もないと思います

状態をディスクに永続化しようとしている場合、独自のシリアル化可能なクラスを作成して AutomationElement オブジェクトを手動でマップしない限り、バイナリが唯一の選択肢になる可能性があります。

または...単に kAutomation 要素のシリアル化をスキップしたい場合は、IgnoreDataMemberAttribute を追加します

于 2013-07-30T14:28:14.760 に答える