Страница 1 из 1

Динамическое подтягивание значения переменных в строку

СообщениеДобавлено: 06 май 2021, 22:16
Woland
Привет!
К примеру, есть 2 строки, в эти строки я хочу подтянуть значение из двух переменных (для каждой строки своя переменная). То есть к примеру строки выглядят следующим образом:

string s1="Blablabla {var1}";
string s2="Blablabla {var2}";

При этом сами строки задаются в стороннем файле, из которого я читаю при запуске приложения.

Эти строки я хочу вернуть в методе

string ReturnMyString()
{
....
return string.Format($s1);
}

Это, понятное дело, не работает. Есть какой-нибудь вариант, как можно организовать такую систему?

Re: Динамическое подтягивание значения переменных в строку

СообщениеДобавлено: 06 май 2021, 23:35
1max1
Ты же после чтения можешь спокойно сделать str.Replace по ключу {key}, к примеру:
Синтаксис:
Используется csharp
int a = 123;
string str = "asd {key}";
string new_str = str.Replace("{key}", a.ToString());

Re: Динамическое подтягивание значения переменных в строку

СообщениеДобавлено: 07 май 2021, 00:07
Woland
Откуда я знаю, что нужно брать именно переменную а? Может, мне нужна переменная b? Тут в том и дело, что я в самой строке хочу указать, какая переменная мне нужна (или переменные, их в строке может быть несколько). Склоняюсь к рефлексии, но, может, есть варианты получше.

Re: Динамическое подтягивание значения переменных в строку

СообщениеДобавлено: 07 май 2021, 11:31
1max1
Ну да, рефлексия тогда. Потому что переменную нужно получить по имени, а кроме как рефлексией ее не получить.