.NET 2.x Как динамически создавать объекты класса ? - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! У меня есть файл

app.config

в котором хранится информация о точках. У каждой точки 3 св-ва:

name

,

defaultValue

и

match

. Пробелы между строчками разделяют две разные точки. Таких точек около 400 в конфиге(приведенный код здесь я немного укоротил и упростил). Мне нужно считать информацию об этих точках и записать её в св-ва объектов класса

MyClass

. Т.е. каждой точке соответствует отдельный объект и в итоге должно получиться 400 объектов класса

MyClass

, с заполненными свойствами соответствующих точек. Я знаю, как создать объект и заполнить его вручную, но это будет сложновато для 400 точек Мне необходимо вставить код для динамического создания объектов в цикл for, чтобы программа все сделала сама. Есть ли вообще такая возможность создавать объекты динамически? Помогите пожалуйста, какой день уже бьюсь над этим Класс

MyClass

:
    public class MyClass
    {
        public MyClass(string Name, string OvationMatch, string Value)
        {
            tagName = Name;
            tagOvationMatch = OvationMatch;
            tagValue = Value;
        }
        private string tagID;
        private string tagName;
        private string tagOvationMatch;
        private string tagValue;
    }
Файл

app.config

:
  <appSettings>
    <add key="tag1_name" value="tag1"/>
    <add key="tag1_defaultValue" value="0"/>
    <add key="tag1_match" value="ptk_tag1"/>
 
    <add key="tag2_name" value="tag2"/>
    <add key="tag2_defaultValue" value="10"/>
    <add key="tag2_match" value="ptk_tag2"/>
 
    <add key="tag3_name" value="tag3"/>
    <add key="tag3_defaultValue" value="30"/>
    <add key="tag3_match" value="ptk_tag3"/>
 
    <add key="tag4_name" value="tag4"/>
    <add key="tag4_defaultValue" value="30"/>
    <add key="tag4_match" value="ptk_tag4"/>
 
    <add key="tag5_name" value="tag5"/>
    <add key="tag5_defaultValue" value="30"/>
    <add key="tag5_match" value="ptk_tag5"/>
 
    <add key="tag6_name" value="tag6"/>
    <add key="tag6_defaultValue" value="30"/>
    <add key="tag6_match" value="ptk_tag6"/>
    и т.д.
  </appSettings>
Код для добавления информации в св-ва объекта:
            for (int i = 1; i <= ConfigurationManager.AppSettings.Count / 3; i++)
            {
                string tag_name = "tag" + i + "_name";
                string tag_defaultValue = "tag" + i + "_defaultValue";
                string tag_match = "tag" + i + "_match";
 
                if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings[tag_name]) &&
                    !string.IsNullOrEmpty(ConfigurationManager.AppSettings[tag_match]) &&
                    !string.IsNullOrEmpty(ConfigurationManager.AppSettings[tag_defaultValue]))
                {
                    //ВОТ СЮДА КАК-ТО НАДО ВСТАВИТЬ ДИНАМИЧЕСКОЕ СОЗДАНИЕ ОБЪЕКТОВ КЛАССА MyClass
                }
            }

Решение задачи: «.NET 2.x Как динамически создавать объекты класса ?»

textual
Листинг программы
MyClass myClass = new MyClass();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы