Size: a a a

2020 March 20

AH

Ayrat Hudaygulov in pro.net
Пойду сяду на лёд
источник

E

EgorBo in pro.net
лучше на бутылку скотча
источник

AH

Ayrat Hudaygulov in pro.net
EgorBo
лучше на бутылку скотча
у меня только банки гинесса.
источник

IC

Ilya Chernoudov in pro.net
EgorBo
лучше на бутылку скотча
вот это внезапное появление
источник

AT

Alexey Tkachenko in pro.net
кстати, @EgorBo , вопрос
источник

AT

Alexey Tkachenko in pro.net
class A{}
class B : A{}
A a = new B() as A; - каст будет выпилен?
источник

AT

Alexey Tkachenko in pro.net
понятно что операция тупая, но всё же
источник

E

EgorBo in pro.net
схренали?
источник

AT

Alexey Tkachenko in pro.net
class A {}
class B : A{}
class C : A{}

A a = cond ? new B() : new C() as A;

это решило бы проблему выше, не?
источник

IC

Ilya Chernoudov in pro.net
Alexey Tkachenko
class A{}
class B : A{}
A a = new B() as A; - каст будет выпилен?
источник

IC

Ilya Chernoudov in pro.net
нету кастов
источник

E

EgorBo in pro.net
это если ты не работаешь с инстансом А
источник

E

EgorBo in pro.net
а если ты вызываешь от него методы - все трында
источник

E

EgorBo in pro.net
то что у ильи — это просто фолдинг
источник

AH

Ayrat Hudaygulov in pro.net
Alexey Tkachenko
зато это поведение не ломает рефакторинги, при которых внезапно может появиться неоднозначность или информация для вывода потеряется
ну когда потеряется, тогда и кидать ошибку
источник

AT

Alexey Tkachenko in pro.net
источник

E

EgorBo in pro.net
ээ непонятно что ты ожидал увидеть другое в ил коде
источник

AT

Alexey Tkachenko in pro.net
@EgorBo : кстати на этом примере можно было бы оптимизашку сделать
источник

E

EgorBo in pro.net
какую?
источник

AT

Alexey Tkachenko in pro.net
    L0000: test dl, dl
   L0002: jnz L000f <!--
   L0004: mov ecx, 0x1cb6cb0c
   L0009: call 0x6630cc
   L000e: ret
   L000f: mov ecx, 0x1cb6ca5c
   L0014: call 0x6630cc
   L0019: ret
источник