C#Constructor在其他对象上返回指针

时间:2015-03-30 06:08:06

标签: c# pointers object constructor

我想知道构造函数是否可以在同一个类的已实例化对象上返回指针? 例如:

    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.
            }


    }

编辑: 这只是想法,我知道它不起作用。但我想知道是否有办法实现这一目标?

2 个答案:

答案 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>实现它。