在c#中属于同一个类的方法内部创建对象的用法

时间:2017-09-06 13:57:12

标签: c#

我已经看到了一些c#项目来了解c#编码。所以我在同一个类的函数内部找到了类的对象创建。请解释一下原因以及它究竟会做什么,以下是示例代码。

 class MainClass
{
    void TestChild()
    {
        //some code
    }
    void TestMethod()
    {
        MainClass object1 = new MainClass();
        object1.TestChild();
    }
}

直接从TestMethod调用TestChild是否有任何区别。

3 个答案:

答案 0 :(得分:0)

虽然你的代码不能编译,因为构造函数必须被命名为类似它看起来像单例实现

using System;

public class Singleton
{
   private static Singleton instance;

   private Singleton() {}

   public static Singleton Instance
   {
      get 
      {
         if (instance == null)
         {
            instance = new Singleton();
         }
         return instance;
      }
   }
}

或其他形式的工厂方法

答案 1 :(得分:0)

如果你的TestCase26827类中有TestChild方法,那么将调用该方法,但不会调用MainClass的方法

答案 2 :(得分:0)

对我而言,此代码与您的代码没有太大区别:

 class MainClass
{
    void TestChild()
    {
        //some code
    }
    void TestMethod()
    {
        TestChild();
    }
}

除非程序员想在构造函数中设置一些东西。

我不确定为什么在评论部分有人说你的代码无法编译。它汇编得很好。 (去年我也没有注意到我做了什么)。

我相信,在TestMethod中为自己声明一个新对象的原因是为了确保TestMethod在构造函数重载的情况下使用正确的对象来执行TestChild方法。