私は良い解決策を見つけることができませんでした。私は、FatherClassから継承したChildClassのオブジェクトを返すWCFサービスを持っています。WCFと様々な戻り値がクラス
ほとんどの場合、私はChildClassを返しますが、場合によってはFatherClass(これはただ1つのフィールド "error"を保持しています)を返したいとします。
これを達成できますか?
マイコード:
[WebGet(UriTemplate = "SomeQueryString", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json)]
public ChildClass GetCollection(parameter)
{
if (err)
{
return new FatherClass();
}
else
{
return new ChildClass();
}
}
ChildClassがFatherClass(以下のフィールドがあります)を継承して。
私の目的は、ChildClassオブジェクト全体を返すと返されるテキストではなく、「テキスト」のごく一部しか返さないことです。
アイデア? :)
ありがとう!あなたの操作との契約を再定義する場合にのみ可能である
ありがとうございました。私は、 "ServiceKnownTypeAttributeを使用して操作のための既知の型コレクションに型を追加する"を含むエラーを取得しますが、正しい方向に向いているようです。インターフェイスも追加する必要がありますか? – Roman
今後の参考のために、サービス自体に[ServiceKnownType(typeof(ChildClass))]を追加することができませんでした。 – Roman
@ローマン:それは 'KnownType'で基底型を指定しないとそうする別の方法です –