Сообщение Re[12]: Interpolated strings: есть идеи, как подправить прои от 21.04.2016 9:29
Изменено 21.04.2016 9:32 Jack128
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Sinix, Вы писали:
S>>А вот если рядом есть перегрузка с строкой, то использовать FormattableString внезапно становится некомильфо — перегрузка для FormattableString автоматом не выберется никогда, только если явный каст сделать.
S>Интересно, что помешало им всегда генерить FormattableString, и добавить в него implicit conversion в System String.
S>Тогда бы всё работало как интуитивно ожидается c точки зрения перегрузки.
Помимо перегрузок есть еще много всего.
Например, если сделать как ты предлагаешь, то:
S>Здравствуйте, Sinix, Вы писали:
S>>А вот если рядом есть перегрузка с строкой, то использовать FormattableString внезапно становится некомильфо — перегрузка для FormattableString автоматом не выберется никогда, только если явный каст сделать.
S>Интересно, что помешало им всегда генерить FormattableString, и добавить в него implicit conversion в System String.
S>Тогда бы всё работало как интуитивно ожидается c точки зрения перегрузки.
Помимо перегрузок есть еще много всего.
Например, если сделать как ты предлагаешь, то:
string str = "Hello, world";
string world = "world";
if (str == $"Hello, {world}")
{
// А сюда мы не попадем string == FormatableString очевидно вернет false
}
Re[12]: Interpolated strings: есть идеи, как подправить прои
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Sinix, Вы писали:
S>>А вот если рядом есть перегрузка с строкой, то использовать FormattableString внезапно становится некомильфо — перегрузка для FormattableString автоматом не выберется никогда, только если явный каст сделать.
S>Интересно, что помешало им всегда генерить FormattableString, и добавить в него implicit conversion в System String.
S>Тогда бы всё работало как интуитивно ожидается c точки зрения перегрузки.
Помимо перегрузок есть еще много всего.
Например, если сделать как ты предлагаешь, то:
S>Здравствуйте, Sinix, Вы писали:
S>>А вот если рядом есть перегрузка с строкой, то использовать FormattableString внезапно становится некомильфо — перегрузка для FormattableString автоматом не выберется никогда, только если явный каст сделать.
S>Интересно, что помешало им всегда генерить FormattableString, и добавить в него implicit conversion в System String.
S>Тогда бы всё работало как интуитивно ожидается c точки зрения перегрузки.
Помимо перегрузок есть еще много всего.
Например, если сделать как ты предлагаешь, то:
string str = "Hello, world";
string world = "world";
if (str.Equals($"Hello, {world}"))
{
// А сюда мы не попадем string.Equals(FormatableString) очевидно вернет false
}