Tag: constructor

C#Singleton,带有接受参数的构造函数

我想创建一个静态类或单例类,它接受对其构造函数中另一个对象的引用。 静态类已经出来了,但我想我可以创建一个在其构造函数中接受参数的单例。 到目前为止,我没有任何运气搞清楚或谷歌搜索语法。 这可能吗? 如果是的话,我该怎么做? 对不起,在最初的post中没有任何例子,我匆匆写了。 我觉得我的回答已经在回复中,但这里有一些关于我想做的事情的澄清: 我想创建一个特定类型的单个实例(表示Singleton),但该类型的单个实例需要保存对不同对象的引用。 例如,我可能想要创建一个Singleton“Status”类,它拥有一个StringBuilder对象和一个Draw()方法,可以调用该方法将所述StringBuilder写入屏幕。 Draw()方法需要知道我的GraphcisDevice才能绘制。 所以我想这样做: public class Status { private static Status _instance; private StringBuilder _messages; private GraphicsDevice _gDevice; private Status(string message, GraphicsDevice device) { _messages.Append(message); _gDevice = device; } // The following isn’t thread-safe // This constructor part is what I’m trying to figure out public static Status […]

为此关键字指定struct值

我最近正在研究CancellationToken结构的内部结构,并发现了一些奇怪的结构(更确切地说,为this关键字赋值)。 其构造函数之一的代码如下: public CancellationToken( bool canceled ) { this = new CancellationToken(); if ( canceled ) { this.m_source = CancellationTokenSource.InternalGetStaticSource( canceled ); } } this关键字进行赋值的行的含义是什么? 请注意,类不能this关键字赋值 – 错误Cannot assign to ” because it is read-only 。

如何在C#中使用私有构造函数实例化对象?

我当然记得在某个地方看到一个使用reflection或其他东西这样做的例子。 这与SqlParameterCollection有关,不能由用户创建(如果我没记错的话)。 不幸的是再也找不到了。 有人可以在这里分享这个技巧吗? 并不是说我认为它是一种有效的开发方法,我只是对这样做的可能性非常感兴趣。