Можно ли добавить дополнительные свойства в файл .settings в C# (. NET Framework 4.7.2) - PullRequest
0 голосов
/ 18 марта 2020

Я разрабатываю приложение, используя C# in. NET Framework 4.7.2. Первоначально у меня были некоторые данные, которые, по моему мнению, были бы полезны для использования файлов .ini для целей конфигурации Я довольно быстро узнал, что INI-файлы не в моде. NET и что было бы разумно использовать файлы конфигурации. Это файлы .settings.

Для некоторого контекста для моего приложения эти данные конфигурации будут относиться к именам программных тегов PL C, которые программист может довольно легко добавить / удалить без необходимости выставлять приложение C# (ie Если мы хотим добавить тег для чтения нашим приложением, мы можем легко добавить его в файл конфигурации, и значение строки будет проанализировано нашим расширением чтения тегов).

То, что я сделал, это создайте несколько файлов .settings, чтобы упростить для меня организацию области определенных блоков тегов. Возможно, это не самый эффективный способ сделать это, но в данный момент мне подходит подтверждение концепции. Я могу изменить это позже, но сейчас я бы хотел оставить все как есть.

Мой вопрос относится к тому, как работают эти файлы .settings и могут ли они настраиваться сами.

Screencap

На рисунке выше я увидеть четыре заголовка. Я называю их свойствами: «Имя», «Тип», «Область» и «Значение». Я могу ссылаться на любое из этих свойств с помощью класса SettingsProperty (я думаю, что это правильная классификация для этого объекта). В некоторых очень специфических c случаях мне нужно предоставить тегу дополнительное свойство, чтобы уделить ему особое внимание. Возможно ли это в C# visual studio 2019, и если да, может кто-нибудь указать мне правильное направление для достижения этой цели? Я подумал о том, чтобы использовать вместо него список строк, но с точки зрения удобства использования предпочел бы не делать этого таким образом, если есть способ, который я просто еще не нашел. Мне не удалось найти, как / если это делается, или если это даже подходящий способ решения этой проблемы.

Короче говоря, в дополнение к «Имя», «Тип», «Область» "и" Значение ", я хотел бы добавить" TagType "(типа string), который я могу устанавливать и получать по мере необходимости из моих файлов .settings.

Большое спасибо за любые идеи, которые могут быть предлагается!

РЕДАКТИРОВАТЬ: опечатки

1 Ответ

1 голос
/ 19 марта 2020

Вот идея, что вы можете сохранить значение и TagType в Column Value. И используйте любой один символ для их разделения, например |.

enter image description here

Затем вы можете получить к ним доступ, разбив строку.

string value = Properties.Settings.Default.Tag_1.Split('|')[0].Trim();
string tagtype = Properties.Settings.Default.Tag_1.Split('|')[1].Trim();
Console.WriteLine($"Value = {value}, TagType = {tagtype}");

Надеюсь, это поможет вам.

...