在c#中使用相同的类方法创建类对象

问题描述 投票:0回答:3

我看过一些 C# 项目来了解 C# 编码。所以,我发现从属于同一个类的函数创建类的对象。请解释一下原因以及它到底会做什么。 以下是示例代码。

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

从 TestMethod 直接调用 TestChild 有什么区别吗?

c# oop
3个回答
1
投票

对我来说,这段代码和你的没有太大区别:

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

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

我不知道为什么在评论部分有人说你的代码无法编译。它编译得很好。 (去年我也这样做过,甚至没有注意到我做了什么)。

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


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

或另一种形式的工厂方法


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.