Size: a a a

F# Flood: ПДД made functional, making illegal state INGIBDDdale

2020 May 13

VK

Vladislav Khapin in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Пока
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
меня уже долго мучает вопрос, почему:
interface I { int P { get; } } class C : I { public int P { get; set; } } // так можно
class B { public virtual int P { get; } } class C : B { public override int P { get; set; } } // а так нельзя
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
понятно, что надо бы написать public int P { override get; set; }
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
меня уже долго мучает вопрос, почему:
interface I { int P { get; } } class C : I { public int P { get; set; } } // так можно
class B { public virtual int P { get; } } class C : B { public override int P { get; set; } } // а так нельзя
По-моему тут логично все
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
может и логично, но как добавить сеттер?
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
может и логично, но как добавить сеттер?
Суть в том чтобы ты не добавлял сеттер как раз
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
почему нет-то?
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
почему нет-то?
Ну я на уровне проектирования полей уже определил нужны мне сеттеры или нет. Мне кажется так проще целостности добиться.

А так я сделал класс, все там провалидировал, а потом пришёл человек и такой «отнаследуюсь и ебану сеттеры в обход всего» условно
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
sealed сделай
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
sealed сделай
Зачем мне его делать силд? Я не хочу запрещать от него наследоваться.
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
на проперте
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
и вообще, зачем оно тогда виртуальное, если не хочешь, чтобы оверрайдили?
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
и вообще, зачем оно тогда виртуальное, если не хочешь, чтобы оверрайдили?
Так может я допускаю что логика в гете может поменяться. Мир же не только из автопроперти состоит
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
В общем не знаю. Но если я не добавил сет то мне кажется логичным что его нельзя добавить потом)
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
вот я и хочу её поменять. заодно автопроперти прикрутить. а может и не авто, более хитрое, но этого я всё равно не могу сделать, просто потому что пошёл я нахе^W^W^Wотсутствует гранулярность контроля доступа
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
вот я и хочу её поменять. заодно автопроперти прикрутить. а может и не авто, более хитрое, но этого я всё равно не могу сделать, просто потому что пошёл я нахе^W^W^Wотсутствует гранулярность контроля доступа
Почему не можешь? Гет ты можешь переопределяло же
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
а сет - нет
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Orbarax
а сет - нет
Потому что его нет
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
В принципе
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
хочу добавить
источник