Методы уже подписаны на событие в дизайнере, зачем ещё раз подписывать?

|
Yotic 2022-06-24 13:22:55
Простите за ерунду, постоянно путаю что-то, особенно после джавы
Maxim Bysh 2022-06-24 13:23:05
Yotic 2022-06-24 13:15:13
Не, не то, без интерфейсов генериков никак?

Можно просто в конструкторе принимать массив

Yotic 2022-06-24 13:23:07
В общем, лишние строки, который я никогда не буду использовать
Maxim Bysh 2022-06-24 13:23:13
Но намного лучше через интерфейс
Yotic 2022-06-24 13:24:22
Всё было бы хорошо, но Element может быть Compound и будет это выглядеть страшно
Keter_SCP 2022-06-24 13:25:08
Yotic 2022-06-24 13:24:22
Всё было бы хорошо, но Element может быть Compound и будет это выглядеть страшно

почему?

Yotic 2022-06-24 13:28:37
Keter_SCP 2022-06-24 13:25:08
почему?

Вместо { }, ( ), что сильно путает

undrcrxwn 2022-06-24 13:29:47
а в чем все таки проблема реализовать IEnumerable?
Yotic 2022-06-24 13:30:19
В 3 строках 🙂
Maxim Bysh 2022-06-24 13:30:38
Ты строки экономишь?
undrcrxwn 2022-06-24 13:31:15
Yotic 2022-06-24 13:30:19
В 3 строках 🙂

напиши всё в одну

Yotic 2022-06-24 13:34:33
Maxim Bysh 2022-06-24 13:30:38
Ты строки экономишь?

1. Да
2. Мне не нужен лишний метод в коде, который я никогда не буду использовать, я просто нуждаюсь в таком же конструкторе, как у List

Maxim Bysh 2022-06-24 13:35:11
Yotic 2022-06-24 13:34:33
1. Да
2. Мне не нужен лишний метод в коде, который я никогда не буду использовать, я просто нуждаюсь в таком же конструкторе, как у List

Дак этот метод используется для того, что ты хочешь сделать

Yotic 2022-06-24 13:35:30
То есть?
Keter_SCP 2022-06-24 13:35:31
Maxim Bysh 2022-06-24 13:35:11
Дак этот метод используется для того, что ты хочешь сделать

не, речь идет наверное о GetEnumerator

ettu19 2022-06-24 13:36:54
Yotic 2022-06-24 13:28:37
Вместо { }, ( ), что сильно путает

Чем?

Maxim Bysh 2022-06-24 13:39:39
Можно в аргументы конструктора передавать IEnumerable или IList
Yotic 2022-06-24 13:40:00
Это аргументы
Keter_SCP 2022-06-24 13:40:37
аргументами выгоднее передать
Keter_SCP 2022-06-24 13:40:57
так как через Add лист будет динамически расширяться и перекопироваться
q_horty 2022-06-24 13:41:25
dotnetruchat-1296386.jpg
увидел такое вот, зачем так делать?
Yotic 2022-06-24 13:42:05
Так я не использую IList, я просто ищу способ передать тот же params, только через конструктор, так же, как это делает List
undrcrxwn 2022-06-24 13:42:18
q_horty 2022-06-24 13:41:25
увидел такое вот, зачем так делать?

кринж

Yotic 2022-06-24 13:42:27
ettu19 2022-06-24 13:36:54
Чем?

Переход на строки не столь очевиден

Keter_SCP 2022-06-24 13:42:40
Yotic 2022-06-24 13:42:05
Так я не использую IList, я просто ищу способ передать тот же params, только через конструктор, так же, как это делает List

так я же скинул, это называется Collection Initializer, работает утиным способом через метод Add и IEnumerable

Maxim Bysh 2022-06-24 13:43:12
q_horty 2022-06-24 13:41:25
увидел такое вот, зачем так делать?

Методы уже подписаны на событие в дизайнере, зачем ещё раз подписывать?

Yotic 2022-06-24 13:44:20
Add? Зачем он тут?
Как использовать IEnumerable без GetEnumerator?
q_horty 2022-06-24 13:44:48
Maxim Bysh 2022-06-24 13:43:12
Методы уже подписаны на событие в дизайнере, зачем ещё раз подписывать?

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

Keter_SCP 2022-06-24 13:45:43
Yotic 2022-06-24 13:44:20
Add? Зачем он тут?
Как использовать IEnumerable без GetEnumerator?

вот зачем

Yotic 2022-06-24 13:46:49
Maxim Bysh 2022-06-24 13:43:12
Методы уже подписаны на событие в дизайнере, зачем ещё раз подписывать?

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

q_horty 2022-06-24 13:47:51
Yotic 2022-06-24 13:46:49
Может в гайде для наглядности использования ивентов их сделали только в Load, в дизайнере же пусто.
Так же при создании контрола во время работы программы только так и подключается ивент

dotnetruchat-1296396.jpg
по-мойму нет

Maxim Bysh 2022-06-24 13:48:00
Yotic 2022-06-24 13:46:49
Может в гайде для наглядности использования ивентов их сделали только в Load, в дизайнере же пусто.
Так же при создании контрола во время работы программы только так и подключается ивент

На методы ссылаются 2 раза

Maxim Bysh 2022-06-24 13:48:04
1 раз в конструкторе
Maxim Bysh 2022-06-24 13:48:14
2, видимо, в дизайнере
Yotic 2022-06-24 13:49:06
Keter_SCP 2022-06-24 13:45:43
вот зачем

аа…, а как тогда это обходить? Делать в коде конструктора
A(params int[] args) => nums = args.ToList();
???

Keter_SCP 2022-06-24 13:49:31
Yotic 2022-06-24 13:49:06
аа…, а как тогда это обходить? Делать в коде конструктора
A(params int[] args) => nums = args.ToList();
???

и получить по ебалу от ревьювера за реаллок

Keter_SCP 2022-06-24 13:49:40
взять и передать просто List<T>
Yotic 2022-06-24 13:53:48
Keter_SCP 2022-06-24 13:49:40
взять и передать просто List<T>

Куда передать?

Keter_SCP 2022-06-24 13:54:00
Yotic 2022-06-24 13:53:48
Куда передать?

в конструктор

Yotic 2022-06-24 13:54:39
Так в конструкторе params[] заменить на IList<T>?
undrcrxwn 2022-06-24 13:54:55
чтобы не так всрато выглядело можно имплисит кастом сделать
Keter_SCP 2022-06-24 13:56:19
Yotic 2022-06-24 13:54:39
Так в конструкторе params[] заменить на IList<T>?

если надо контракт IList<T> то да, если еще более широкий, то IEnumerable<T>

Phanto_m 2022-06-24 14:10:31
Yotic 2022-06-24 13:42:05
Так я не использую IList, я просто ищу способ передать тот же params, только через конструктор, так же, как это делает List

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers#examples

Phanto_m 2022-06-24 14:11:43
Через инициализатор коллекции можно инициализировать только те классы, которые имплементируют IEnumerable и имеют метод Add нужной сигнатуры
Yotic 2022-06-24 14:19:27
undrcrxwn 2022-06-24 13:54:55
чтобы не так всрато выглядело можно имплисит кастом сделать

Хм, может как-то можно имплиснуть LIst и можно будет делать:
Compound c = («name», { 1, 2, 3, 4});

Phanto_m 2022-06-24 14:19:51
Yotic 2022-06-24 14:19:27
Хм, может как-то можно имплиснуть LIst и можно будет делать:
Compound c = («name», { 1, 2, 3, 4});

Ты херней страдаешь

Yotic 2022-06-24 14:21:48
Просто питонизирую шарп, ничего необычного
Yotic 2022-06-24 14:23:07
Хейтеры
LarymarTwit 2022-06-24 14:24:54
Yotic 2022-06-24 14:21:48
Просто питонизирую шарп, ничего необычного

Так возьми питон

i3olenta 2022-06-24 14:25:40
И подуши его
|