1

を使用してメッセージ形式RESTのサービスを実装しています。さまざまなタイプの引数を取る必要があるメソッドがあります(ただし、基本クラスから派生しています)。この場合、変換演算子で拡張クラスを使用するのは良いアプローチでしょうか? JSONWCF

省略等)DataContractDataMember

    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
    }
4

1 に答える 1

0

WCF の RESTful サービスで使用したことはありませんが、DataContract のポリモーフィズムを処理するために、常に既知の型を使用しています。

詳細情報のリンクは次のとおりです 。 http://msdn.microsoft.com/en-us/library/ms730167.aspx

于 2013-07-11T14:52:36.483 に答える