Ale*_*lex 14 c# serialization datacontract deserialization
我正在编写一个序列化函数,需要确定类是否具有DataContract属性.基本上,如果类具有DataContract属性,函数将使用DataContractSerializer,否则它将使用XmlSerializer.
谢谢你的帮助!
ale*_*dej 18
测试DataContractAttribute的最简单方法可能是:
bool f = Attribute.IsDefined(typeof(T), typeof(DataContractAttribute));
Run Code Online (Sandbox Code Playgroud)
也就是说,既然DC支持POCO序列化,它就不完整了.对DC可串行性的更完整测试将是:
bool f = true;
try {
new DataContractSerializer(typeof(T));
}
catch (DataContractException) {
f = false;
}
Run Code Online (Sandbox Code Playgroud)
bool hasDataContractAttribute = typeof(YourType)
.GetCustomAttributes(typeof(DataContractAttribute), true).Any();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5674 次 |
最近记录: |