Size: a a a

2020 August 27

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Vladislav Bardin
хах, мне тут в соседнем чатике арч рассказал что не стоит так делать
Чем обосновал?
источник

EA

Egene Avdeev in CODE BLOG / C#
Vladislav Bardin
хах, мне тут в соседнем чатике арч рассказал что не стоит так делать
+
источник

VB

Vladislav Bardin in CODE BLOG / C#
ок, я наследую все виды отчетов о базового, туда вынес общие поля, но как мне его предать в конструктор?
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Ну
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Передаешь екземпляр базового класса
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Типо

А
Б:А


С
Паблик С(А) {}


В мейне
Б Б_екз = нью Б()
С тест = нью С(Б_екз)
источник

EA

Egene Avdeev in CODE BLOG / C#
Vladislav Bardin
ок, я наследую все виды отчетов о базового, туда вынес общие поля, но как мне его предать в конструктор?
Во время вызова будешь же создавать неявно, через base
источник

VB

Vladislav Bardin in CODE BLOG / C#
ctor(IReport report) примет любой объект, который реализует интерфейс IReport, а
ctor(ReportBase report) оставит лиш те поля, который являються общими, а это не подходит
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Vladislav Bardin
ctor(IReport report) примет любой объект, который реализует интерфейс IReport, а
ctor(ReportBase report) оставит лиш те поля, который являються общими, а это не подходит
Так интерфейс тоже оставит
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Так проблема не в интерфейсе
источник

VB

Vladislav Bardin in CODE BLOG / C#
class ReportBase
{
int id;
}

interface IReport {}

CommonReport : ReportBase, IReport {}
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Тебе в любом случае приватные поля надо через конструктор сетать
источник

AK

Andrew Kravchuk in CODE BLOG / C#
У тебя ид приватный?
источник

VB

Vladislav Bardin in CODE BLOG / C#
и в таком случае интерфейс ничего не обрежет
источник

VB

Vladislav Bardin in CODE BLOG / C#
Andrew Kravchuk
У тебя ид приватный?
нет, просто тороплюсь ((
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Ты лучше один раз нормально опиши проблему
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Потому что не понятно что ты хочешь
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
Vladislav Bardin
нормальная ли практика делать пустой интерфейс, для того чтоб в конструктор передавать не Report, а IReport, то есть любой объект, который реализует этот интерфейс?
нормальная это практика.
источник

VB

Vladislav Bardin in CODE BLOG / C#
У меня  может быть несколько видов отчетов, каждый наследуется от ReportBase, например, CommonReport, WeekReport... И есть класс, который должен уметь работать со всеми видами отчетов, как это лучше всего сделать? Создать пустой интерфейс IReport конструктор ctor(IReport report) или передавать просто модель приведенную к базовому классу?
источник

VB

Vladislav Bardin in CODE BLOG / C#
Макс Епифанов
нормальная это практика.
Понял, спасибо
источник