少し奇妙な質問ですが、誰かが助けてくれるのではないかと思っていました...
C ++では、このようなことができます
class MyOtherClass
{
private:
MyLogger* logger;
public:
MyOtherClass (MyLogger* logger)
: logger (logger)
{}
};
class MyClass
{
private:
MyLogger* logger;
public:
MyClass (MyLogger* logger)
: logger (logger)
{}
};
int main (int c, char** args)
{
MyLogger* logger = new MyLogger ();
/* Code to set up logger */
MyOtherClass* myOtherClass = new MyOtherClass (logger);
MyClass* myClass = new MyClass (logger);
}
他の各オブジェクト(myOtherClassとmyClass)にロガーへのポインターが含まれるように、同じロガークラスを呼び出します。しかし、C#で同じことをどのように達成しますか?グローバルオブジェクトへの参照またはポインタを格納する方法はありますか?C#で次のようなことをすると推測します
public class MyClass
{
private MyLogger logger = null;
public MyClass (MyLogger _logger)
{
logger = _logger;
}
};
クラス変数loggerを_loggerのコピーに実際に割り当てているということですか?または私は物事を混ぜていますか:S
どんな助けでも大歓迎です、そして前もってありがとう!