这可能是一个有点奇怪的问题,但我想知道是否有人可以帮忙...
在 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)都包含指向logger的指针,这样它们就会调用相同的logger类。然而,在C#中我该如何做到同样的事情?是否有一种方式可以存储对全局对象的引用或指针?我猜在C#中,如果我做了什么像
public class MyClass
{
private MyLogger logger = null;
public MyClass (MyLogger _logger)
{
logger = _logger;
}
};
那么它实际上是将类变量logger分配给_logger的一个副本吗?还是我把事情搞混了:S
非常感谢任何帮助,提前致谢!