.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();