powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
25 сообщений из 290, страница 3 из 12
Будущее c#
    #39733252
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.vb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?
я давным-давно

Что-то в этом есть. )

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    public interface ia
    {
        void run();
    }

    public interface ib
    {
        void run();
    }

    public interface ic
    {
        void run();
    }

    public class abc : ia, ib, ic
    {
        public void run() { }
    }



Предположим, что у ic есть дефолтная реализация.
Как мне оставить дефолтную реализацию ic у класса abc?
...
Рейтинг: 0 / 0
Будущее c#
    #39733279
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЧто-то в этом есть. )

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    public interface ia
    {
        void run();
    }

    public interface ib
    {
        void run();
    }

    public interface ic
    {
        void run();
    }

    public class abc : ia, ib, ic
    {
        public void run() { }
    }



Предположим, что у ic есть дефолтная реализация.
Как мне оставить дефолтную реализацию ic у класса abc?

Как-то так мб
Код: c#
1.
2.
3.
4.
5.
    public class abc : ia, ib, ic
    {
        public void ia.run() { }
        public void ib.run() { }
    }
...
Рейтинг: 0 / 0
Будущее c#
    #39733336
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisAddxЧто-то в этом есть. )

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    public interface ia
    {
        void run();
    }

    public interface ib
    {
        void run();
    }

    public interface ic
    {
        void run();
    }

    public class abc : ia, ib, ic
    {
        public void run() { }
    }



Предположим, что у ic есть дефолтная реализация.
Как мне оставить дефолтную реализацию ic у класса abc?

Как-то так мб
Код: c#
1.
2.
3.
4.
5.
    public class abc : ia, ib, ic
    {
        public void ia.run() { }
        public void ib.run() { }
    }



ИМХО, это плохой вариант.
Предположим, что изначально было public class abc : ia, ib
Получается, что теперь нужно переделать.
А если еще и id с дефолтной реализацией добавить нужно?
public class abc : ia, ib, ic, id
...
Рейтинг: 0 / 0
Будущее c#
    #39733360
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisКак-то так мбв ссылке дан нормальный вариант. Этот не пойдет.
...
Рейтинг: 0 / 0
Будущее c#
    #39733363
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема?
...
Рейтинг: 0 / 0
Будущее c#
    #39733365
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxhVosttВсё равно не вижу никакой корреляции.
Фичи внезапным образом не меняют контракты, независимо включены они или нет.


Еще как.

void f(string s)

Я ожидаю string = null
Внезапно, кто-то включил "фичу", и уже передать ее нельзя.
Удобно, правда?

Можно передать. Где проблема? У тебя будет warning. Которые тоже можно подавить.

Я ещё раз говорю, в наших проектах это выглядит вот так:

void f([CanBeNull] s)

я-то понимаю, очень многим покласть на качество своего кода, нам нет
поэтому для нас это боль
а предложенная фича -- решение

и ничего она не ломает.

Мы же наоборот, warning повысим до уровня ошибки.


Addxnullable-типы и дефолтная реализация интерфейсов отправляют совместимость лесом.

Нет никаких новых nullable-типов, это мета-данные, а не новые типы.
...
Рейтинг: 0 / 0
Будущее c#
    #39733366
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronМожно обсуждать и осуждать отдельные нововедения.

Но поинт в другом.



Это, матьево, классика

Любое развитие языка в любую сторону, будет вызывать бурление и бомбалейло.

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

Смысл тихо сидеть, а потом бомбить???
...
Рейтинг: 0 / 0
Будущее c#
    #39733402
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЭто не "сплетня", а уже давно известная информация.
Первый раз, когда изменения не просто не полезны, а наоборот вредны.
Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами".
Впрочем, разработчиков никто не спрашивает - куда мы денемся?
Ешь что дают.

C# как никогда сейчас демократичен!
Вот если бы некоторые были по смышленее и не устраивали на форумах плач Ярославны, то сами могли бы предложить или даже реализовать новую фичу в очередном мажорном или минорном релизе C#.
Я хоть в англицком и не бачу, но вполне понял из ссылки ТС, что непонятную Хвосту "Target-typed new-expressions" реализовал нормальный пацанчик Alireza Habibi , который вообще говоря не работает в Microsoft.
...
Рейтинг: 0 / 0
Будущее c#
    #39733422
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addx
ИМХО, это плохой вариант.
Предположим, что изначально было public class abc : ia, ib
Получается, что теперь нужно переделать.
А если еще и id с дефолтной реализацией добавить нужно?
public class abc : ia, ib, ic, id
Что плохого то? Старый код вполне продолжит работать без всяких переделок.
...
Рейтинг: 0 / 0
Будущее c#
    #39733445
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЧто плохого то? Старый код вполне продолжит работать без всяких переделок.обсуждаем не только работоспособность, но и ценность сабжа.
Разве а, б и с дают ценность?
...
Рейтинг: 0 / 0
Будущее c#
    #39733469
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subНовые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема?
Да в том что из одного говна надо отказаться от хороших вещей.
Тут уж не версией языка надо работать, а непосредственно фичей - типа нуллейбл тип нафиг, а срезы включить.
...
Рейтинг: 0 / 0
Будущее c#
    #39733472
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subНовые проекты- с новыми фичами шарпа, для старых проектов просто не повышать версию языка- в чем проблема?
Да в том что из одного говна надо отказаться от хороших вещей.
Тут уж не версией языка надо работать, а непосредственно фичей - типа нуллейбл тип нафиг, а срезы включить.
...
Рейтинг: 0 / 0
Будущее c#
    #39733479
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123обсуждаем не только работоспособность, но и ценность сабжа.
Разве а, б и с дают ценность?
Ну на вскидку ценность такая.
1. Есть готовая иерархия интерфейсов классов и нужно добавить новый метод в интерфейс, придется переписать все классы. Может быть изначально конечно грубая ошибка проектирования, но может и появиться новая фича в языке, которой раньше не было и которая ох как кстати, например добавили async.
2. Опять же ко/контрвариантность может быть только в интерфейсах (но не классах), посему обобщенный алгоритм вполне можем впендюрить в интерфейс.
...
Рейтинг: 0 / 0
Будущее c#
    #39733511
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВНу на вскидку ценность такая.я отвечал что в ссылке ценность есть, а в примере выше про 10 раз Run() ее нет.
Если ты счас про третий пример, то давай код.
ЕвгенийВЕсть готовая иерархия интерфейсов классовкогда разговор про интерфейсы, не употребляй интерфейс в другом значении. Путает.
...
Рейтинг: 0 / 0
Будущее c#
    #39733528
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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?
...
Рейтинг: 0 / 0
Будущее c#
    #39733542
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
C# как никогда сейчас демократичен!
Вот если бы некоторые были по смышленее и не устраивали на форумах плач Ярославны, то сами могли бы предложить или даже реализовать новую фичу в очередном мажорном или минорном релизе C#.
Я хоть в англицком и не бачу, но вполне понял из ссылки ТС, что непонятную Хвосту "Target-typed new-expressions" реализовал нормальный пацанчик Alireza Habibi , который вообще говоря не работает в Microsoft.

Ага. А в России народная демократия. Вы можете подать петицию, набрать голоса и ее рассмотрят. И посмеются)
Вы можете предложить фичу, и в теории, она может даже понравится разработчикам.
Но Вы никогда не убедите их отказаться от нее, если они ее одобрили.
...
Рейтинг: 0 / 0
Будущее c#
    #39733546
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Если ты счас про третий пример, то давай код.

Что за третий пример?
...
Рейтинг: 0 / 0
Будущее c#
    #39733568
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВPetro123Если ты счас про третий пример, то давай код.

Что за третий пример?
Addx сказал что это плохой вариант. Ты сказал что хороший. Доказывай).
Я с ним согласен.
...
Рейтинг: 0 / 0
Будущее c#
    #39733639
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxМы не бомбим, мы обсуждаем. )
Мы будем кушать то, что сделает Майкрософт, ведь они же "quite excited about the new capabilities".

Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать.

Это не правда, и не надо набрасывать на вентилятор.


AddxДавайте не будем ссылаться на "у всех плохой код, а у нас хороший". А то мне тоже есть что сказать ;)
У меня написано:
void f(string s)
Туда можно передать Null?

Можно конечно.
...
Рейтинг: 0 / 0
Будущее c#
    #39733662
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAddxМы не бомбим, мы обсуждаем. )
Мы будем кушать то, что сделает Майкрософт, ведь они же "quite excited about the new capabilities".

Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать.

Это не правда, и не надо набрасывать на вентилятор.


Я не согласен со словами "якобы", "дескать" и "не правда".
В остальном Вы правы.
И без хамства, пожалуйста.
Если других аргументов нет, лучше промолчать.

hVosttAddxДавайте не будем ссылаться на "у всех плохой код, а у нас хороший". А то мне тоже есть что сказать ;)
У меня написано:
void f(string s)
Туда можно передать Null?

Можно конечно.

У меня C# 8.0
И тип объявлен string s, а не string? s
...
Рейтинг: 0 / 0
Будущее c#
    #39733668
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxhVosttпропущено...


Я не согласен с тем, что якобы никого не спросили и добавили фичи, а теперь надо дескать разгребать.

Это не правда, и не надо набрасывать на вентилятор.


Я не согласен со словами "якобы", "дескать" и "не правда".
В остальном Вы правы.
И без хамства, пожалуйста.
Если других аргументов нет, лучше промолчать.

hVosttпропущено...


Можно конечно.

У меня C# 8.0
И тип объявлен string s, а не string? s
string? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю
...
Рейтинг: 0 / 0
Будущее c#
    #39733700
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesstring? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю+1.
Не понятно, к чему тогда примеры со строками? Что изменится у них?
...
Рейтинг: 0 / 0
Будущее c#
    #39733786
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesstring? s нельзя объявить в 8.0, так как string это класс, а не структура, это не возможно сейчас и будет невозможно потом, на сколько я понимаю

В смысле?

.NET Blog
Код: c#
1.
string s = null; // Warning: Assignment of null to non-nullable reference type


What if you do want null? Then you can use a nullable reference type, such as string?:
Код: c#
1.
string? s = null; // Ok



Фиг с ним, с объявлением.

Было:
Код: c#
1.
void M(string s)



Стало:
Код: c#
1.
void M(string? s)




Мой код
Код: c#
1.
void M(string s)



Можно туда передать null?
Какая версия C# у меня Вы не знаете, у Вас есть только объявления методов. (интерфейсы)
...
Рейтинг: 0 / 0
Будущее c#
    #39733805
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и Delphi стало ближе к JS

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var Proc := (function: TProc begin
    var n := 0;
    Exit(procedure begin
      Write(n);
      Inc(n);
    end);
  end)();
  Proc;


Тоже бурление вызвало нехилое. Тянут неоднозначные фичи.
...
Рейтинг: 0 / 0
Будущее c#
    #39733806
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

да уж
надо наверное просто взять JS и довести до ума, а все остальное выкинуть нафиг, благо все транслируются уже в JS.
...
Рейтинг: 0 / 0
25 сообщений из 290, страница 3 из 12
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]