0

私は持ってProgram classいます:

private static ClientBase objClientBase = new ClientBase(new List<RecordType> { RecordType.none }, ModuleType.Monitor);
    static void Main(string[] args)
    {
        objClientBase.Connect(); //IRRELEVANT
        objQueueMon = new Main(); //<-INSIDE THIS IS WHERE I WANT TO ACCESS objClientBase
        objClientBase.MainModuleThreadManualResetEvent.WaitOne(); //IRRELEVANT
    }

このプログラムは、次のようにインスタンスを作成しMain classます。

objQueueMon = new Main();

これらは別のファイルに分かれていますが、Main クラスのインスタンスは Program クラス内に作成されていることに注意してください。

私の Program クラス内で、それにアクセスしたいと思いますobjClientBase

コンストラクター メソッドを作成して渡す必要がありますか、それともパブリック アクセスを作成する必要がありますか? だから私が達成したいのは、 Main クラス内で、objClientBase.FUNCTION

4

2 に答える 2

0

次のように、オブジェクトMainを受け入れるようにクラスのコンストラクターを変更します。ClientBase

public class Main
{
    private ClientBase _clientBase;

    public Main(ClientBase clientBase)
    {
        _clientBase = clientBase;
    }

    public void SomeMethod()
    {
        // Use ClientBase.FUNCTION here
        _clientBase.FUNCTION();
    }
}
于 2013-08-19T19:30:56.297 に答える