3

クラス Dog があるとしましょう:

public class Dog {
    public String Breed { get; set; }
    public String Color { get; set; }
    ...
}

そして、動物クラス:

public class Animals {
    public Dog[] Dogs { get; set; }

    public Dog[] GetDogs() {
        ...
        return Dogs;
    }
    ...
}

Dog上記のクラスは私のクラス ライブラリにあり、プロジェクトへの参照として追加しました。のようにDog dog = new Dog();internalにしようとしましたが、クラスにinternalも記述する必要があり、Animalsこれを行うと GetDogs() メソッドを使用できません。

助言がありますか?

4

5 に答える 5

5

Dog クラスの内部コンストラクターを作成します。internal Dog(){}. そうすると、そのアセンブリだけが を作成できますnew Dog()が、誰でも Dog クラスを使用できます。

于 2013-07-26T05:16:16.140 に答える
1

犬を返却したい場合は、それを公開しておく必要があります。アセンブリの外部で Dog を作成したくない場合は、そのコンストラクターを内部にします。

もう 1 つのオプションは、インターフェイスを使用することです。

于 2013-07-26T05:16:09.987 に答える