Size: a a a

2020 December 29

E

EgorBo in pro.net
иначе бы не спрашивали)
источник

VK

Vladislav Khapin in pro.net
EgorBo
правила любого квиза по программированию: самый ебанутый ответ - верный
я думал надо всегда отвечать "зависит"
источник

А

Анонимус in pro.net
EgorBo
правила любого квиза по программированию: самый ебанутый ответ - верный
спасибо за подсказку. Но в чем измеряется "ебанутость" ответа?
источник

A

Aloraman in pro.net
Давайте повысим градус неадеквата!
Есть базовый абстрактный класс, его наследник создается в рантайме эмитом в DynamicAssembly
(Например https://github.com/neuecc/MicroResolver/blob/master/src/MicroResolver/ObjectResolver.cs)
Можно ли сделать базовый класс непубличным? Или только pubternal или InternalsVisibleTo (требует зафиксировать имя DynamicAssembly)?
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Давайте повысим градус неадеквата!
Есть базовый абстрактный класс, его наследник создается в рантайме эмитом в DynamicAssembly
(Например https://github.com/neuecc/MicroResolver/blob/master/src/MicroResolver/ObjectResolver.cs)
Можно ли сделать базовый класс непубличным? Или только pubternal или InternalsVisibleTo (требует зафиксировать имя DynamicAssembly)?
через интернал визибл можно
источник

A

Aloraman in pro.net
Ilya Chernoudov
через интернал визибл можно
Там имя DynamicAssembly должно быть константой во время компиляции базового класса
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Там имя DynamicAssembly должно быть константой во время компиляции базового класса
это проблема?
источник

A

Aloraman in pro.net
Больше одной сборки не создашь
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Больше одной сборки не создашь
mock как то решает этот вопрос
источник

A

Aloraman in pro.net
Если аналогично с MicroResolver провести - не больше одного экземпляра DI-контейнера на аппдомен
источник

A

Aloraman in pro.net
Ilya Chernoudov
mock как то решает этот вопрос
Хм, разве? Мокаются обычно интерфейсы (public) либо public virtual методы public же классов
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Хм, разве? Мокаются обычно интерфейсы (public) либо public virtual методы public же классов
можно и интернал
источник

IB

Ivan Balanar in pro.net
Roman Bukin
stx же😁
что такое "stx" ?
источник

IC

Ilya L Che in pro.net
Ivan Balanar
что такое "stx" ?
источник

IB

Ivan Balanar in pro.net
спасибо.
источник

A

Aloraman in pro.net
Ilya Chernoudov
можно и интернал
Посмотрел, что б полноценно мокать интернал там
Нужно добавлять
[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2")] для Castle.DynamicProxy, одна сборка на аппдомен выходит
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Посмотрел, что б полноценно мокать интернал там
Нужно добавлять
[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2")] для Castle.DynamicProxy, одна сборка на аппдомен выходит
Значит ты можешь сделать так же!
источник

A

Aloraman in pro.net
Ilya Chernoudov
Значит ты можешь сделать так же!
Нет, это опять InternalsVisibleTo c константой ergo одна сборка на аппдомен
источник

IC

Ilya Chernoudov in pro.net
Aloraman
Нет, это опять InternalsVisibleTo c константой ergo одна сборка на аппдомен
как то mock хватает 1 сборки на домен
источник

IC

Ilya Chernoudov in pro.net
а тебе почему то не хватает?
источник