如何在 c# 中使用方法(如果可能)实例化 class?

How can I instantiate a class with a method (if possible) in c#?

假设您有某种控制台应用程序游戏,并且在游戏中您创建了一个对象,该对象将拥有自己的对象 class。当游戏可能仍然是 运行.

时,您如何使用方法或函数之类的东西创建 class 的实例?

我已经在互联网上找遍了,几个星期后仍未找到任何东西。通常,我会为 class 创建一个数组并像这样向它添加新实例。

class MyClass 
{
   //fields and methods
}

class Program 
{
   static void Main(string[] args) 
   {
      MyClass[] myClasses = new MyClass[16];
      myClasses.SetValue(new MyClass(), 0);
   }
}

但这感觉笨拙且效率低下。我希望我能尽快解决这个问题。

您是否尝试这样做:

  var myClasses = new MyClass[16];
  myClasses[0] = new MyClass();

有很多方法可以做到这一点。最常见和接受的方式可能是 FactoryPattern.

创建你的工厂:

public static class MyClassFactory
{

    public static MyClass CreateNew() {
        return new MyClass();
    }
    
    public static MyClass[] CreateRange(int amount) {
        
        var myArr = new MyClass[amount];
        
        for (int i = 0; i < amount; i++)
        {
            myArr[i] = new MyClass();
        }
        
        return myArr;
    }
}

然后只需在您的代码中调用它:

class Program 
{
   static void Main(string[] args) 
   {
      MyClass[] myClasses = MyClassFactory.CreateRange(16);
   }
}