Как программный идентификатор объекта может быть создан программно - PullRequest
0 голосов
/ 27 июня 2019

как новичок в C #, я ищу решение, чтобы программно создавать идентификаторы объекта для экземпляра класса.

Предположим, у нас есть класс с именем "MyClass", и мы хотим программно создать следующие экземпляры:

  MyClass  instganceName0 = new MyClass();
  MyClass  instganceName1 = new MyClass();
  MyClass  instganceName2 = new MyClass();
  MyClass  instganceName3 = new MyClass();
  MyClass  instganceName4 = new MyClass();

Моя проблема заключается в процедуре получения программных идентификаторов объектов instganceName0, instganceName1, ... instganceName4.

Я написал следующий код для получения этих идентификаторов в виде строки. Но я не знаю, как использовать их в качестве идентификатора объекта в цикле, чтобы использовать их в качестве идентификаторов объектов в процедурах создания экземпляров.

Любая помощь очень ценится.

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string instganceName = "myClassInstance";
            string[] objectName = new string[4];
            for (int i = 0; i < 4; i++)
            {
                objectName[i] = instganceName + i.ToString();
            }

            var instganceName0 = new MyClass();
            var instganceName1 = new MyClass();
            var instganceName2 = new MyClass();
            var instganceName3 = new MyClass();
            var instganceName4 = new MyClass();
        }
    }

    class MyClass
    {

    }
}

1 Ответ

1 голос
/ 27 июня 2019

Хотя это не имеет смысла, почему вы бы назвали его так, но для решения вашей проблемы лучше всего использовать словарь.

for(i = 0; i < length; i++)
{
  dictionary.Add("instanceName" + i, new MyClass());
}
...