我正在使用WCF
执行REST
服务,使用JSON
消息格式。我有一个方法应该采取不同类型的参数(但派生形式基本类)。我想知道在这种情况下使用扩展类与转换运算符是否是一种好方法?WCF REST JSON参数多态性
例(ommiting DataContract
,DataMember
等):
class ClassOne
{
public string Name { get; set; }
}
class ClassTwo : ClassOne
{
public int A { get; set; }
}
class ClassThree : ClassOne
{
public int B { get; set; }
}
class ClassExtended
{
public string Name { get; set; }
public int A { get; set; }
public int B { get; set; }
public static implicit operator ClassTwo(ClassExtended extended)
{
return new ClassTwo()
{
Name = extended.Name,
A = extended.A
};
}
public static implicit operator ClassThree(ClassExtended extended)
{
return new ClassThree()
{
Name = extended.Name,
B = extended.B
};
}
}
void Test(ClassExtended extended)
{
// using as ClassThree here
}
您是否得到了正常工作? – ashic