
Владимир
14.04.2017
13:32:29
str[0] = new object()
Там такого нет.
Прокатит.
Мм, код не мой, но как корректно реализовывать абстрактные свойства, которые в наследниках будут иметь разные типы?

Сергей
14.04.2017
13:33:00

Igor
14.04.2017
13:33:17
который реально юзают, а не для "поиграться"
На JVM реально юзаются - Clojure (но он динамический) и Scala
Еще есть Frege/Eta - порты Haskell, но я не уверен что на них можно писать промышелнные программы.
На .NET только F# - он синтаксически ближе к Haskell, но там есть C#-style классы (те при желаение можно делать OOP)
https://youtu.be/eQzF8RrLM6s?t=4m7s - авторитетное мнение о языке ?

Владимир
14.04.2017
13:33:47
can
Я понимаю, поэтому и варнинг. Но вдруг мог где-нибудь грохнуться при кастинге, поэтому и спросил.

Google

Сергей
14.04.2017
13:34:49
Так а в чем вопрос?

Владимир
14.04.2017
13:36:12
Вообще, уже в этом:
Как корректно реализовывать абстрактные свойства, которые в наследниках будут иметь разные типы?

Сергей
14.04.2017
13:37:51
Это не поддерживается в шарпе, но есть пропоузал. Ты лучше пример приведи

Владимир
14.04.2017
13:40:19
public abstract class CustomField
{
...
public object Value { get; set; }
}
public class DateCustomField : CustomField
{
public DateTime Value {get;set;}
}
етк.
Сейчас вроде все в обджект суется. Потом, как повезет.
Меня интересует, как это сделать можно было бы красиво.

Mikhail
14.04.2017
13:42:34
начни лучше с контекста задачи а не со своего варианта решения

Сергей
14.04.2017
13:43:07

Andrew
14.04.2017
13:43:36

Mikhail
14.04.2017
13:43:58

Владимир
14.04.2017
13:44:18
Там таких типов штук 16
у каждого своя логика валидации, например

Google

Andrew
14.04.2017
13:44:45
сделай штоб от одного интерфейса шло у всех объектов

Владимир
14.04.2017
13:45:14

Andrew
14.04.2017
13:46:17

Mikhail
14.04.2017
13:47:06

Владимир
14.04.2017
13:47:07

Andrew
14.04.2017
13:47:39
https://msdn.microsoft.com/ru-ru/library/sz6zd40f.aspx предпоследий пример показывает куда интерфейсы пихать в джинериках

Mikhail
14.04.2017
13:48:09
а зачем тебе их все наследовать от одного абстрактного класса?

Mikhail
14.04.2017
13:48:13

Владимир
14.04.2017
13:48:33

Сергей
14.04.2017
13:49:06
Я уже решил проблему. byte[] я получал от Epplus методом GetAsByteArray или типа того и он возвращал вдвое большее кол-во байт. Если просто читать сгенерированный файл, то все как надо

Владимир
14.04.2017
13:49:44

Andrew
14.04.2017
13:49:47

Mikhail
14.04.2017
13:50:03

Владимир
14.04.2017
13:50:23

Mikhail
14.04.2017
13:51:00
дык я не знаю что у тебя должно происходить - вот в чем проблемес. из объяснения задачи не очень понятно. ну задачи и задачи, и чо? зачем тебе общий абстрактный класс?
валидацию делегируй классам наследникам если она у всех разная

Владимир
14.04.2017
13:51:40
Сейчас в абстрактном классе не проверяются типы, если что. Весь специфичный функционал лежит в наследниках.

Mikhail
14.04.2017
13:52:00

Владимир
14.04.2017
13:52:17

Google

Владимир
14.04.2017
13:52:28
Не копипастить же его в 16 классов

Mikhail
14.04.2017
13:52:32

Владимир
14.04.2017
13:53:01
Абстрактный класс сделать дженериком, а потом наследоваться от него?

Mikhail
14.04.2017
13:53:09
нет

Владимир
14.04.2017
13:53:11
Ну ок, выглядит адекватно
что нет
как тогда -_-

Mikhail
14.04.2017
13:53:36
я имею ввиду общий функционал делегировать стороннему классу-дженерику.

Владимир
14.04.2017
13:54:05
типа обернуть эти 16 штук в сторонний дженерик класс?
Надо обдумать.

Mikhail
14.04.2017
13:54:50
ок, попробуем иначе)
какой общий функционал у этих классов есть?
будем вместе фантазировать)
или ты можешь использовать паттерн "шаблонный метод" попробовать. но зависит от того - что там за общий функционал.
то есть у тебя будет у абстрактного класса общий метод который для получения специфичных данных дергает абстрактные методы, которые в каждом наследнике реализованы по-своему

Владимир
14.04.2017
13:58:56
Видимое поле или нет, логгировать его или нет, группа, к который он принадлежит, действия, с этим всем связанные.
Не важно, там много.

Mikhail
14.04.2017
14:02:13
а все что нужно получить об этом поле - реализовать через virtual методы в классах-наследниках?

Владимир
14.04.2017
14:03:44
Хм. Ну мне как минимум к нему биндить надо.
Но можно сделать string свойство, которое будет дергать виртуал методы.

Andrew
14.04.2017
14:33:32

Google

Igor
14.04.2017
14:34:51
Ребусы :D

Mikhail
14.04.2017
14:35:14

Владимир
14.04.2017
14:36:56

Ilya
14.04.2017
14:51:24
Офтоп. Почему про неё шутят в контексте взрывов?

Andrew
14.04.2017
14:51:27
Схема еще сложнее, я сильно так упростил.
Короче чтоб получить классы с разного типа свойствами но от общей базы есть два основных пути, жинерик, можно отнаследоваться с конкретным типом от него MyClass: MyParent<WantedDatatype> и будя норм

Mikhail
14.04.2017
14:57:45
в дотнетфиддле было б удобнее)

Alexey
14.04.2017
14:58:16

Andrew
14.04.2017
14:59:53
аа, ты про постилку кода

Mikhail
14.04.2017
15:00:37
агась

Andrew
14.04.2017
15:01:29
в них с мобилы говёно, забочусь о людях, а в гист лень кидать, ну и хотел повыебываться чорным замарином на макоси с зелёными писалками

Axm
14.04.2017
15:02:07

Vyacheslav
14.04.2017
15:02:37

Andrew
14.04.2017
15:03:09

Vyacheslav
14.04.2017
15:03:36
А в чем проявляется гоано?

Andrew
14.04.2017
15:07:08
нестабильность, в замарине со скриншота не работают хоткеи, с винды если так мак надо на привязи держать, если не формс, вс фор мак риальне лучше замаринстудии, но тож пиздец как до редактирования axml доходит, я короч писнул, сказал "ну нахер" и закрыл. Мне сейчас проще нативную разработку под иос пинать продолжить(в ведре уже давно и так) чем с замарином ебаться

Dmitry
14.04.2017
15:07:35
Редактор андроидных хмлей ужасен

Andrew
14.04.2017
15:07:45
да

Google

Andrew
14.04.2017
15:08:03
сториборды ещё куда ни шло
там с икскодом конкуренция, а он гораздо более слабый, чем ведройд студия продукт

Dmitry
14.04.2017
15:08:29
Угу, со сторибордами жить можно

Slava
14.04.2017
15:08:56
а доки по верстке под ios есть где?
не могу найти)

Igor
14.04.2017
15:09:11

Slava
14.04.2017
15:09:16
или там кодом верстают?)

Dmitry
14.04.2017
15:09:40
Мышкой или кодом

Slava
14.04.2017
15:09:56
вот по верстке мышкой и не могу найти ничего

Dmitry
14.04.2017
15:10:32
Да полно вроде инфы. Raywenderlich.com , например

Slava
14.04.2017
15:11:09

Владимир
14.04.2017
15:12:35
Понял, благодарю.
Потому что она сильнейший в истории маг взрывов!

Andrew
14.04.2017
15:15:19
начальный квест

Slava
14.04.2017
15:15:38

Andrew
14.04.2017
15:15:41
в айтюнсе курс от стенфорда оеренный
https://itunes.apple.com/us/course/developing-ios-9-apps-with-swift/id1104579961
там уже и 10 вышел

Летучая
14.04.2017
15:26:47
Эта группа больше не существует