0

ネストされたクラスを持つ Web サービスにクラスがあります。

namespace MyWS
{
    // web service class with web methods etc. here

    public class SomeClass
    {
        // fields, properties, stuff etc.

        public class NestedClass
        {
            // ...
        }
    }
}

Web サービスから Web 参照を作成しようとすると、NestedClassネストされなくなりSomeClass、参照内のスタンドアロン クラスとして外に出ます ( を介してアクセスされますMyWS.NestedClass)。次回 Web 参照が生成されたときにネストされたままにする方法はありますか? なんらかの属性かも?

違いがある場合は、.NET 2.0 と VS 2005 を使用しています。可能であれば、解決策として新しいテクノロジー/環境へのアップグレードを提案しないでください。

編集: アーキテクチャの問題ではありません。クラスをそこにネストする必要は実際にはありません。簡単に変更できるので、より理にかなっています。必要に応じて、強制的に参照にネストすることは可能かどうか疑問に思っています。

4

2 に答える 2

0

これはよりアーキテクチャ上の問題であり、次に技術的な問題です。

あなたの場合、ネストされたクラスを宣言していることがわかりますpublic。人為的または宣言的ではないにしても、これら 2 つの型の間に依存関係を作成する理由はあまりありません。ただし、これは、ネストを回避する別の方法で行うことができます。たとえば、次のようになります。

public class A {
}

public class Dependend {
    //The only available construstor of Dependent is that one which 
    //accepts A type
    public Dependend(A aType) {
    }
}

この場合、2 つの異なるエンティティがあり (そのため、それらとのやり取りが簡単になります)、それらの間に強い関係も構築されます。

于 2013-10-22T07:02:42.693 に答える