0

Windows フォームのメイン クラスから、別のライブラリ (dll) 内にクラスのオブジェクトを作成しようとしています。

しかし、そのクラスの名前を入力しているときに、Visual Studio からヘルプが得られないため、このオブジェクトを作成できません。

ライブラリへの参照が必要だと思います。ライブラリを右クリックして参照を追加し、メイン クラスと Windows フォームがあるプロジェクトの名前を選択しました。

しかし、それはまだ機能していません!私はこれを間違っていましたか、それとも何かを見逃しましたか?

4

2 に答える 2

4

しかし、それはまだ機能していません!私は間違ったことをしましたか、それとも何かを逃しましたか?

このクラスが定義されている名前空間をスコープに持ってきたことを確認してください。したがって、たとえば:

namespace FooBar
{
    public class Foo  
    {

    }
}

次に、クラスを含むクラスライブラリへの参照を追加した後、WinFormsアプリケーションで名前空間を追加します。

using FooBar;

これで、インスタンスを作成できます。

Foo foo = new Foo();

もちろん、これが機能するFooには、として宣言する必要がありますpublic。そうでなければ、もちろんアクセスできません。クラスに可視性修飾子がない場合は、次の点に注意してください。

namespace FooBar
{
    class Foo  
    {

    }
}

と同等です:

namespace FooBar
{
    internal class Foo  
    {

    }
}

したがってinternal、別のアセンブリからアクセスできないことを意味すると想定されます。でなければなりませんpublic

于 2012-08-14T16:54:02.377 に答える
1

(dll)、MSDNaccessのメソッドに対して次の手順を実行しますlibrary

  • フォームプロジェクトのフォルダを右クリックし、references追加をクリックして参照を追加し、dllのプロジェクトまたはフォルダを選択します。
  • クラス(フォーム)にdllの名前空間を含める名前空間yourcomapany.communicationがあると仮定し、そのusing中にクラスにアクセスするための名前空間を含めるために使用します。

    yourcomapany.communicationを使用する;

于 2012-08-14T16:54:14.463 に答える