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

二进制手电筒

假设您有某种控制台应用程序游戏,并且在游戏中您创建了一个对象,该对象将具有它自己的类。当游戏可能仍在运行时,您将如何使用诸如方法或函数之类的东西创建该类的实例。

我浏览了整个互联网,几周后没有找到任何东西。通常,我会为该类创建一个数组并像这样向它添加新实例。

class MyClass 
{
   //fields and methods
}

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

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

月人先生

有很多方法可以做到这一点。最常见和接受的方式可能是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);
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++-如何在另一个类中使用私有构造函数实例化对象

如何在 C# 中使用来自另一个类的初始化实例对象?

C#如何在一个函数中创建类的实例,然后在另一个函数中使用相同的实例

如何在C ++中的另一个模板函数中使用属于模板化类的嵌套类型?

如何在另一个 Python 类构造函数中使用 __enter__ 方法实例化 Python 类

如果未在类C ++中定义方法,如何在类对象上使用方法

如何在循环中使用匿名方法实例化唯一委托(在C#中)?

如果DateFormat是一个抽象类,则如何使用getInstance()方法实例化它

C#:如何在另一个类中使用可索引属性?

如何在 C# 中使用另一个类更改变量

Java:如何在另一个类中使用在一个类中实例化的对象?

C++) 如何从一个类中使用其他类的方法?

一个人如何在C ++中单独给一个ProgID实例化一个类?

如何在类构造函数中使用方法数据 c# xamarin

我如何在另一个类中使用一个类中的方法(是否可能)

如何在C#的静态类中使用new关键字作为属性声明一个类

如何在C#中使用抽象约束实例化泛型类

不能在另一个类 C# 中使用方法

在 C# 的另一个类中使用方法返回

如何在C ++中使用枚举参数实例化对象?

如何在C ++中制作一个类的多个实例

如何在C#中的一个类的多个实例之间共享值?

如何在C ++中仅实例化一个变量?

从Java到C ++:如何在另一个自定义类中使用一个自定义类var?

如何在C#中使用子类的实例访问父类的方法

在C ++中,如何在另一个嵌套类中使用嵌套类类型(两个嵌套类在同一外部类下)

如何在 C++ 中使用具有另一个类对象的构造函数?

如何在 Spring Boot 的映射器接口中使用 @Autowired 正确实例化一个类?

如何在python中使用另一个实例的类名创建实例?