@CSharpChatЭта группа больше не существует

Страница 1030 из 1888
Летучая
14.05.2017
13:47:11
нипанимаю

Friedrich
14.05.2017
13:47:32
зачем нужны 2 одинаковые фичи
А это их две разные команды делали, охохо!

подловил
А, ну и поля ещё :) В классах бывают поля, в интерфейсе не бывает.

Google
Anatoly
14.05.2017
13:48:06
Ну с другой стороны в своём коде можно просто игнорить эту хрень.

Летучая
14.05.2017
13:48:06
вот блин

Летучая
14.05.2017
13:48:13
тут от архитектуры крыша поедет

тогда

Friedrich
14.05.2017
13:48:16
Поля — одна из проблем множественного наследования.

Andrew
14.05.2017
13:48:26
Mikhail
14.05.2017
13:48:37
в шарпах множественно наследование интерфейсов
Я знаю. Но оно меньше путаницы создает, чем классов именно из-за отсутствия реализации И имхо интерфейс именно под сигнатуры - его суть представить некое апи, описать его, а не задать реализацию

Летучая
14.05.2017
13:48:46
бывают

только их проперти

скрывают

Igor
14.05.2017
13:48:59
кого? датаклассы?
Поля, как в Kotlin: class Type(private val x:Int)

Google
Friedrich
14.05.2017
13:49:00
бывают
Свойства бывают, полей не бывает.

Летучая
14.05.2017
13:49:07
автопроперти же в поле разворачивается

приватное

данные-то надо хранить

Friedrich
14.05.2017
13:49:25
автопроперти же в поле разворачивается
В интерфейсе не разворачивается.

(там-дам!)

Mikhail
14.05.2017
13:49:41
В интерфейсе не разворачивается.
При реализации разворачивается все равно

Friedrich
14.05.2017
13:50:09
Да, при реализации разворачивается. Но это не значит, что ты наследуешь какое-то там приватное поле от родительского интерфейса. Нету в нём полей.

Летучая
14.05.2017
13:50:09
спор вида "кольцо или окружность"

Andrew
14.05.2017
13:50:28
Поля, как в Kotlin: class Type(private val x:Int)
я так никогда в котлине не делал, если там приватные поля в классе, значит там логика, и я нормально класс пишу

Friedrich
14.05.2017
13:50:55
Такие классы тоже нужны, это хорошее нововведение.

Бывает, что делаешь класс просто для того, чтобы передать кучку параметров в другое место.

Igor
14.05.2017
13:51:27
я так никогда в котлине не делал, если там приватные поля в классе, значит там логика, и я нормально класс пишу
Ну, я вообще хочу только “primary constructor”, если его можно сделать без “records”, будет круто.

Andrew
14.05.2017
13:53:06
Бывает, что делаешь класс просто для того, чтобы передать кучку параметров в другое место.
но privte val по идее значит что поле ты не прочитаешь снаружи? или в котлине есть неочевидная вещь которую я упустил?

Friedrich
14.05.2017
13:53:42
В C# бывает надобность в таких вот классах.

Andrew
14.05.2017
13:56:37
она везде есть, я именно про set only дата класс, нах он нужен человеку @angmarr ? или я в котлине не шарю?

Igor
14.05.2017
13:57:46
она везде есть, я именно про set only дата класс, нах он нужен человеку @angmarr ? или я в котлине не шарю?
Я же написал уже. Мне не нужен data/record class, мне нужен “primary construtor”.

Google
Andrew
14.05.2017
13:58:16
Ааа все

Слепой я

И так, господа, мы снова побурлили про дефолт реализации в интерфейсах, в прошлый раз даж подизлайкали, всем спасибо?

Igor
14.05.2017
14:02:20
Я же написал уже. Мне не нужен data/record class, мне нужен “primary construtor”.
Хотя, если можно (this.a, this.b, this.c) = (a, b, c); - может это скрасит боль

Andrew
14.05.2017
14:03:00
Да не, сидите

Igor
14.05.2017
14:04:08
И так, господа, мы снова побурлили про дефолт реализации в интерфейсах, в прошлый раз даж подизлайкали, всем спасибо?
А уже кто-то объяснил, зачем их изначально добавили в Java 1.8 и почему в C# это не надо?

Andrew
14.05.2017
14:04:21
Хотя, если можно (this.a, this.b, this.c) = (a, b, c); - может это скрасит боль
Вообще, если-б мне образца 2010 показали шарп 7, я бы не узнал язык

Friedrich
14.05.2017
14:04:30
alix
14.05.2017
14:05:16
Я решил, что с прошлого раза все помнят :)
а для тех кого не было в прошлый раз можно ремарочку

Friedrich
14.05.2017
14:06:26
а для тех кого не было в прошлый раз можно ремарочку
В жаву это запилили, чтобы добавить метод stream() в интерфейсы коллекций, не сломав реализации. В похожей ситуации, когда в C# добавляли LINQ, наши сделали для этого экстеншены. Казалось бы, теперь нету задачи для дефолтовых методов в интерфейсах.

Andrew
14.05.2017
14:07:50
а для тех кого не было в прошлый раз можно ремарочку
Короч жава заскорузлая пипец, им нужно оьновляться и чтоб не поломать старое вкинули, плюс в лямдях больно, в жаве нет делегатов и когда в цепочке нужно реализовывать весь тырфейс это пиздец

Friedrich
14.05.2017
14:08:34
типа потому что они (дефолтовые реализации в интерфейсах ) дублируют функциональность экстеншн методов?
Она прямым образом не дублирует. Это два разных общих решения одной и той же частной проблемы.

Igor
14.05.2017
14:10:35
Эх почитать штоле? Прост я ведройдщик, даж не лезу в 9
Вроде как это единственная новая фича языка в 9, остальное модули и стандартная библиотека

Andrew
14.05.2017
14:11:57
Ну короч я плыву за гуглом, бюрократия в жавакомитете меня утомляет

Илья
14.05.2017
15:16:47
Воу, 1000 юзеров

Google
Nikita
14.05.2017
15:16:57
да, многовато

надо кого-нибудь забанить

Илья
14.05.2017
15:17:20
Я помню этот чат, когда здесь было 600

Точно)

Igor
14.05.2017
15:17:34
беги скорее пиши им на гитхаб пока зарелизить не успели
Судя по видео это еще PoC, может одумаются к 8.0 Кстати фишка с null-safe вот это годно (прям как в Kotlin)

Nikita
14.05.2017
15:18:35
не прямкак

Admin
ERROR: S client not available

Nikita
14.05.2017
15:18:35
хуже

Igor
14.05.2017
15:19:06
не прямкак
Ну, у них же “обратная совместимость”, лучше так чем никак (хотя бы ворнинги будут без R#)

Friedrich
14.05.2017
15:20:32
хуже
Прямо скажем, немногим хуже.

В Котлине почти так же паршиво.

Igor
14.05.2017
15:25:58
В Котлине почти так же паршиво.
А в каком языке это сделано нормально ?? В swift примерно как в kotlin, вроде еще в vala это есть, но я не смотрел.

Friedrich
14.05.2017
15:28:51
Да нигде.

Igor
14.05.2017
15:29:07
Да нигде.
OK, ты просто не в настроение...

Friedrich
14.05.2017
15:29:15
Во всех существующих языках сделано плохо. Настал час писать новый язык программирования, в котором всё будет хорошо!

OK, ты просто не в настроение...
Нет, я просто правда не знаю, где хорошо сделано. Во всех языках, в которых сразу этого разделения не было (nullable / not nullable), в итоге сделано криво и небезопасно.

Igor
14.05.2017
15:31:49
Нет, я просто правда не знаю, где хорошо сделано. Во всех языках, в которых сразу этого разделения не было (nullable / not nullable), в итоге сделано криво и небезопасно.
Котлин же проектировался с поддержкой изначально (это там было в первой публичном билде). Единственная проблема с интеропом с java, откуда может прийти что угодно (в swift те же проблемы).

Friedrich
14.05.2017
15:31:59
Именно так.

Igor
14.05.2017
15:32:46
Именно так.
Кстати, в хаскеле нет null ? (нет null - нет проблем)

Friedrich
14.05.2017
15:35:49
Если уж говорить про всякие котлины с опциональным nullable, то я и в F# ни разу не ловил NullReferenceException. Просто берёшь и весь недоверенный код заворачиваешь в Option.ofObj.

Google
Friedrich
14.05.2017
15:35:57
В Scala та же история.

Да даже в Java 8, блин.

Так что, может быть, в C# 8 тоже станет нормально при грамотно написанном коде.

Anatoly
14.05.2017
15:46:38
Есть такие три класса: class A { public int f1; public B f2; } class B { public int bf1; public C bf2; } class C { public int cf1; } Есть такой Json: { "f1" : 5, "f2" : { "bf1" : 1, } } Десериализация с помощью newtonjson. Хочу чтобы в bf2 был не null, а значение заданное default конструктором от C. Вариант как вот здесь у меня что-то не взлетел: http://stackoverflow.com/questions/33933417/json-net-deserialization-populate-missing-properties Возможно у меня что-то просто в коде не так, позже хочу попробовать выделить в отдельное консольное приложение и там потестить. Сейчас мне просто интересно, может кто-нибудь уже сталкивался и знает решение?

Ilya
14.05.2017
15:52:03
есть аттрибут defaultvalue

а, не, не подойдёт...

Anatoly
14.05.2017
16:21:53
не взлетело :(

Igor
14.05.2017
16:37:14
не взлетело :(
что-то у тебя неправильно, у меня взлетает (newton.json 10)

Anatoly
14.05.2017
16:39:29
Проблема была в DefaultValueHandling, он в проекте был Populate поставлен.

Max
14.05.2017
17:29:41
bindingmanagerbase current так мы берем выбранный елемент

а если нужно взять несколько выбранных елементов?

Illarion
14.05.2017
17:38:52
Парни как правильно проверить работоспособность сайта? гоняю по списку сайтов, определяю статус через HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Но некоторые сайты выдают ответ - Сервер нарушил протокол. Section=ResponseHeader Detail=За возвратом каретки должен следовать перевод строки при том что в браузере они успешно открываются

Привет всем)

Летучая
14.05.2017
17:48:11
привет

добавь хедер

какой-нибудь браузерный

к запроснику

_httpClient = new HttpClient(); _httpClient.DefaultRequestHeaders.Add( "accept", "text/html, application/xhtml+xml, */*" ); _httpClient.DefaultRequestHeaders.Add( "user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)" );

Страница 1030 из 1888

Эта группа больше не существует Эта группа больше не существует