Информация об изменениях

Сообщение Re[5]: String templates (JEP 430) от 02.08.2023 19:43

Изменено 05.09.2023 7:55 Jack128

Опечатка

Re[5]: String templates (JEP 430)
Здравствуйте, ·, Вы писали:

·>Здравствуйте, samius, Вы писали:


S>>
S>>var provider = new MyCustomSqlFormatProvider();
S>>FormattableString sql = $"SELECT * FROM SomeTable WHERE Age = {age} and Name = {name}";
S>>var safeSqlString = sql.ToString(provider);
S>>

·>Ещё раз. Это даст строку. Неясно как из этого получить объект произвольного типа.

Строка — это просто вариант по умолчанию. В общем случае ты можешь написать свой InterpolatedStringHandler и заиметь полный того, что в заглавном посте для джавы было написано.

DbDataReader reader = DB.ExecuteToReader($"SELECT * FROM Person p WHERE p.last_name = {name}"); // будет сгенерён sql c параметром
Re[5]: String templates (JEP 430)
Здравствуйте, ·, Вы писали:

·>Здравствуйте, samius, Вы писали:


S>>
S>>var provider = new MyCustomSqlFormatProvider();
S>>FormattableString sql = $"SELECT * FROM SomeTable WHERE Age = {age} and Name = {name}";
S>>var safeSqlString = sql.ToString(provider);
S>>

·>Ещё раз. Это даст строку. Неясно как из этого получить объект произвольного типа.

Строка — это просто вариант по умолчанию. В общем случае ты можешь написать свой InterpolatedStringHandler и заиметь полный аналог того, что в заглавном посте для джавы было написано.

DbDataReader reader = DB.ExecuteToReader($"SELECT * FROM Person p WHERE p.last_name = {name}"); // будет сгенерён sql c параметром