|
Будущее c#
|
|||
---|---|---|---|
#18+
Denis.vb_subhVostt, дефолтную реализацию интерфейса тоже ждешь? я давным-давно Что-то в этом есть. ) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Предположим, что у ic есть дефолтная реализация. Как мне оставить дефолтную реализацию ic у класса abc? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 22:25 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxЧто-то в этом есть. ) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Предположим, что у ic есть дефолтная реализация. Как мне оставить дефолтную реализацию ic у класса abc? Как-то так мб Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 05:44 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
PallarisAddxЧто-то в этом есть. ) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Предположим, что у ic есть дефолтная реализация. Как мне оставить дефолтную реализацию ic у класса abc? Как-то так мб Код: c# 1. 2. 3. 4. 5.
ИМХО, это плохой вариант. Предположим, что изначально было public class abc : ia, ib Получается, что теперь нужно переделать. А если еще и id с дефолтной реализацией добавить нужно? public class abc : ia, ib, ic, id ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 10:02 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
PallarisКак-то так мбв ссылке дан нормальный вариант. Этот не пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 11:00 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Новые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 11:06 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxhVosttВсё равно не вижу никакой корреляции. Фичи внезапным образом не меняют контракты, независимо включены они или нет. Еще как. void f(string s) Я ожидаю string = null Внезапно, кто-то включил "фичу", и уже передать ее нельзя. Удобно, правда? Можно передать. Где проблема? У тебя будет warning. Которые тоже можно подавить. Я ещё раз говорю, в наших проектах это выглядит вот так: void f([CanBeNull] s) я-то понимаю, очень многим покласть на качество своего кода, нам нет поэтому для нас это боль а предложенная фича -- решение и ничего она не ломает. Мы же наоборот, warning повысим до уровня ошибки. Addxnullable-типы и дефолтная реализация интерфейсов отправляют совместимость лесом. Нет никаких новых nullable-типов, это мета-данные, а не новые типы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 11:12 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
mikronМожно обсуждать и осуждать отдельные нововедения. Но поинт в другом. Это, матьево, классика Любое развитие языка в любую сторону, будет вызывать бурление и бомбалейло. Есть же коммьюнити, там любой может по-участвовать и высказаться, аргументировать, предложить. Смысл тихо сидеть, а потом бомбить??? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 11:14 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxЭто не "сплетня", а уже давно известная информация. Первый раз, когда изменения не просто не полезны, а наоборот вредны. Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами". Впрочем, разработчиков никто не спрашивает - куда мы денемся? Ешь что дают. C# как никогда сейчас демократичен! Вот если бы некоторые были по смышленее и не устраивали на форумах плач Ярославны, то сами могли бы предложить или даже реализовать новую фичу в очередном мажорном или минорном релизе C#. Я хоть в англицком и не бачу, но вполне понял из ссылки ТС, что непонятную Хвосту "Target-typed new-expressions" реализовал нормальный пацанчик Alireza Habibi , который вообще говоря не работает в Microsoft. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 12:06 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Addx ИМХО, это плохой вариант. Предположим, что изначально было public class abc : ia, ib Получается, что теперь нужно переделать. А если еще и id с дефолтной реализацией добавить нужно? public class abc : ia, ib, ic, id Что плохого то? Старый код вполне продолжит работать без всяких переделок. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 12:27 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
ЕвгенийВЧто плохого то? Старый код вполне продолжит работать без всяких переделок.обсуждаем не только работоспособность, но и ценность сабжа. Разве а, б и с дают ценность? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 12:43 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
vb_subНовые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема? Да в том что из одного говна надо отказаться от хороших вещей. Тут уж не версией языка надо работать, а непосредственно фичей - типа нуллейбл тип нафиг, а срезы включить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 13:16 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
vb_subНовые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема? Да в том что из одного говна надо отказаться от хороших вещей. Тут уж не версией языка надо работать, а непосредственно фичей - типа нуллейбл тип нафиг, а срезы включить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 13:18 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Petro123обсуждаем не только работоспособность, но и ценность сабжа. Разве а, б и с дают ценность? Ну на вскидку ценность такая. 1. Есть готовая иерархия интерфейсов классов и нужно добавить новый метод в интерфейс, придется переписать все классы. Может быть изначально конечно грубая ошибка проектирования, но может и появиться новая фича в языке, которой раньше не было и которая ох как кстати, например добавили async. 2. Опять же ко/контрвариантность может быть только в интерфейсах (но не классах), посему обобщенный алгоритм вполне можем впендюрить в интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 13:24 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
ЕвгенийВНу на вскидку ценность такая.я отвечал что в ссылке ценность есть, а в примере выше про 10 раз Run() ее нет. Если ты счас про третий пример, то давай код. ЕвгенийВЕсть готовая иерархия интерфейсов классовкогда разговор про интерфейсы, не употребляй интерфейс в другом значении. Путает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 13:52 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
hVostt... Есть же коммьюнити, там любой может по-участвовать и высказаться, аргументировать, предложить. Смысл тихо сидеть, а потом бомбить??? Мы не бомбим, мы обсуждаем. ) Мы будем кушать то, что сделает Майкрософт, ведь они же "quite excited about the new capabilities". vb_subНовые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема? Совсем новых проектов - 5% максимум. Это еще оптимистичная оценка Это раз. И главное - обратная совместимость встречается редко, но чтобы при переходе на новую версию языка весь код становился неработоспособным - это плохо. hVosttAddxпропущено... Еще как. void f(string s) Я ожидаю string = null Внезапно, кто-то включил "фичу", и уже передать ее нельзя. Удобно, правда? Можно передать. Где проблема? У тебя будет warning. Которые тоже можно подавить. Я ещё раз говорю, в наших проектах это выглядит вот так: void f([CanBeNull] s) я-то понимаю, очень многим покласть на качество своего кода, нам нет поэтому для нас это боль а предложенная фича -- решение и ничего она не ломает. Мы же наоборот, warning повысим до уровня ошибки. Давайте не будем ссылаться на "у всех плохой код, а у нас хороший". А то мне тоже есть что сказать ;) У меня написано: void f(string s) Туда можно передать Null? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 14:17 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
ЕвгенийВ C# как никогда сейчас демократичен! Вот если бы некоторые были по смышленее и не устраивали на форумах плач Ярославны, то сами могли бы предложить или даже реализовать новую фичу в очередном мажорном или минорном релизе C#. Я хоть в англицком и не бачу, но вполне понял из ссылки ТС, что непонятную Хвосту "Target-typed new-expressions" реализовал нормальный пацанчик Alireza Habibi , который вообще говоря не работает в Microsoft. Ага. А в России народная демократия. Вы можете подать петицию, набрать голоса и ее рассмотрят. И посмеются) Вы можете предложить фичу, и в теории, она может даже понравится разработчикам. Но Вы никогда не убедите их отказаться от нее, если они ее одобрили. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 14:30 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Petro123Если ты счас про третий пример, то давай код. Что за третий пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 14:32 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
ЕвгенийВPetro123Если ты счас про третий пример, то давай код. Что за третий пример? Addx сказал что это плохой вариант. Ты сказал что хороший. Доказывай). Я с ним согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 14:53 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxМы не бомбим, мы обсуждаем. ) Мы будем кушать то, что сделает Майкрософт, ведь они же "quite excited about the new capabilities". Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать. Это не правда, и не надо набрасывать на вентилятор. AddxДавайте не будем ссылаться на "у всех плохой код, а у нас хороший". А то мне тоже есть что сказать ;) У меня написано: void f(string s) Туда можно передать Null? Можно конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 16:14 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
hVosttAddxМы не бомбим, мы обсуждаем. ) Мы будем кушать то, что сделает Майкрософт, ведь они же "quite excited about the new capabilities". Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать. Это не правда, и не надо набрасывать на вентилятор. Я не согласен со словами "якобы", "дескать" и "не правда". В остальном Вы правы. И без хамства, пожалуйста. Если других аргументов нет, лучше промолчать. hVosttAddxДавайте не будем ссылаться на "у всех плохой код, а у нас хороший". А то мне тоже есть что сказать ;) У меня написано: void f(string s) Туда можно передать Null? Можно конечно. У меня C# 8.0 И тип объявлен string s, а не string? s ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 16:37 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxhVosttпропущено... Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать. Это не правда, и не надо набрасывать на вентилятор. Я не согласен со словами "якобы", "дескать" и "не правда". В остальном Вы правы. И без хамства, пожалуйста. Если других аргументов нет, лучше промолчать. hVosttпропущено... Можно конечно. У меня C# 8.0 И тип объявлен string s, а не string? s string? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 16:44 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Roman Mejtesstring? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю+1. Не понятно, к чему тогда примеры со строками? Что изменится у них? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 17:23 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Roman Mejtesstring? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю В смысле? .NET Blog Код: c# 1.
What if you do want null? Then you can use a nullable reference type, such as string?: Код: c# 1.
Фиг с ним, с объявлением. Было: Код: c# 1.
Стало: Код: c# 1.
Мой код Код: c# 1.
Можно туда передать null? Какая версия C# у меня Вы не знаете, у Вас есть только объявления методов. (интерфейсы) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 19:21 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Вот и Delphi стало ближе к JS Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
Тоже бурление вызвало нехилое. Тянут неоднозначные фичи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2018, 21:06 |
|
|
start [/forum/topic.php?fid=20&msg=39733805&tid=1399114]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 171ms |
0 / 0 |