我正在使用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