我想知道构造函数是否可以在同一个类的已实例化对象上返回指针? 例如:
Class Example
{
private static Example A = null
public Example()
{
if (RefTrace == null)
{
//Here is the initialization of all attributes
A = this;
}
else
return A; //To return pointer on already existing instance.
}
}
编辑: 这只是想法,我知道它不起作用。但我想知道是否有办法实现这一目标?
答案 0 :(得分:2)
您要实现的是Singleton对象。您可以在此处阅读有关单身人士模式的信息:https://msdn.microsoft.com/en-us/library/ff650316.aspx。
示例代码:
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
答案 1 :(得分:0)
从C# language specification 5.0开始说:
构造函数被声明为一个没有返回类型且与包含类名称相同的方法。
在其他问题/答案中也提到了这一点,即:Are class constructors void by default?
如本线程中所述,看起来您正在尝试使用Singleton模式。 Jon Skeet对各种变体有一个good blog post - 我更喜欢用Lazy<T>
实现它。