
Летучая
14.05.2017
13:47:11
нипанимаю

Andrew
14.05.2017
13:47:29

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

Google

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

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

Andrew
14.05.2017
13:48:07

Летучая
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

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
спор вида "кольцо или окружность"

Mikhail
14.05.2017
13:50:23

Andrew
14.05.2017
13:50:28

Friedrich
14.05.2017
13:50:55
Такие классы тоже нужны, это хорошее нововведение.
Бывает, что делаешь класс просто для того, чтобы передать кучку параметров в другое место.

Igor
14.05.2017
13:51:27

Andrew
14.05.2017
13:53:06

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

Google

Andrew
14.05.2017
13:58:16
Ааа все
Слепой я
И так, господа, мы снова побурлили про дефолт реализации в интерфейсах, в прошлый раз даж подизлайкали, всем спасибо?

Igor
14.05.2017
14:02:20

Mikhail
14.05.2017
14:02:24

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

Igor
14.05.2017
14:04:08

Andrew
14.05.2017
14:04:21

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

alix
14.05.2017
14:07:50

Friedrich
14.05.2017
14:08:34

Igor
14.05.2017
14:08:37

Andrew
14.05.2017
14:09:42

Igor
14.05.2017
14:10:35

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

Nikita
14.05.2017
15:16:31

Илья
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

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

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

Igor
14.05.2017
15:29:07

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

Igor
14.05.2017
15:31:49

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
а, не, не подойдёт...

Igor
14.05.2017
16:06:41

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)"
);
Эта группа больше не существует