我有DataContract(BalanceClassificationAttribute),它有一个对象类型的字段。
[DataContract]
[KnownType(typeof(string))]
[KnownType(typeof(long))]
[KnownType(typeof(int))]
[KnownType(typeof(uint))]
public class BalanceClassificationAttribute
{
/// <summary>
/// Value of searching attribute.
/// </summary>
[DataMember]
public Object Value
{
get;
set;
}
}
此字段值可以是字符串,long,int,uint
添加了这些属性
[KnownType(typeof(string))]
[KnownType(typeof(long))]
[KnownType(typeof(int))]
[KnownType(typeof(uint))]
但是这个DataContract不起作用。我还能做些什么?
答案 0 :(得分:0)
KnownTypeAttribute的主要目的是在soap消息反序列化中处理类型继承方案。您正在尝试将其用作在原始类型上执行数据转换的方法。您最安全的选择是通过对您在TryParse
列表中引用的类型进行一系列KnownType
次调用来处理值的数据转换。