Ayrat
Vasily
Чет райдер плохо переваривает файлы на 25к+ строк...
Oleg
Vasiliy
О_О что за наркомания в 25к строк.
Vasily
Vasiliy
ужас.
Vasily
Не говори
Vasily
Но тот же тп писать, например, такое себе развлечение
Vasily
Так, а кто мне расскажет, как дернуть статический метод без параметров?
Vasily
Точнее статик мембер
Ayrat
Vasily
Ayrat
Угу
Ну так напиши как обычно но со словом static
Vasily
проблема в том, что мне не нужно там имя типа
Vladislav
Vasily
Я его хочу в Active pattern подставлять
Ayrat
(^a : (static member Foo: unit -> unit), a)
Vasily
А без ()?
Ayrat
Да как хочешь вообще.
Vladislav
вроде
Ayrat
Ayrat
Я уже пофиксил
Vasily
У меня сигнатура Foo:int
Vladislav
а
Vladislav
если мембе
Vladislav
р
Vladislav
то просто : int
Vasily
let inline (|TypeId|) (x:int)=
fun()->(^a:(static member constructor:int)) НЕ ПАШЕТ
Ayrat
Ayrat
Ты ж инстанс не передал
Vasily
А его нет
Vladislav
боже храни сайма за синтаксис сртп
Ayrat
Чиво
Vasily
Мне нужно поведение конста
Vladislav
А его нет
у кого конструктор то дергать собрался)
Vasily
Точнее литерала
Vasily
Чтобы матчить
Vladislav
а
Ayrat
Я нихуя не понял
Vasily
Чтобы везде не писать |x when x=y.constructor
Vladislav
щас
Vladislav
Vladislav
щас
Ayrat
Vasily
Vasily
Да, я наркоман немного
Ayrat
И подай туда
Ayrat
Это кстати в рефлексии так же рабоатает
Ayrat
Ты передаешь null
Vasily
Ну реально хуйня тогда
Ayrat
Как объект на статические методы
Ayrat
Ayrat
let a = Unchecked.defaultOf<>
Vasily
А чо, null туда можно ебануть?
Ayrat
Хотя можно и просто null
Ayrat
Vasily
А вот хуй тебе, а не null
Ayrat
Хуйни туда типизированный нулл
Ayrat
Пусть компилятор будет довольными
Vasily
Чет не взлетает
Klei
Vasily
И будет ли это вообще работать
Klei
Пример желаемого использования есть?
Vasily
Неясно, как применить
Vasily
В общем, у меня у типа есть static member x:int
Vladislav
на константы нельзя натравить сртп
Klei
А можно написать
| TypeId<MyType> p -> ...
?
Vasily
И я хочу писать match x with |Type1.x
Vasily
пока приходится писать |y when y=Type1.x
Vasily
И вот я думаю, можно ли так сделать вообще?
Klei
Ну можно хотя бы частично упростить через
let (|Eq|_|) expexted actual = if expexted = actual then Some () else None
| Eq Type1.x -> ...
Vasily
А, ну так можно
Vasily
попробовать
Klei
С дженериками в матчинге жопа какая-то. Вчера столкнулся с тем, что не мог засунуть статический проп дженерик-типа в качестве параметра частичного шаблона.
Klei
Синтаксически не распознавалось.