У меня есть простое приложение, состоящее из консольного приложения и библиотеки классов. Библиотека классов выполняет весь тяжелый подъем в течение нескольких десятков классов. Некоторые из этих классов являются внутренними для библиотеки классов, и даже если они публичные, я бы предпочел не иметь консольное приложение, полностью осведомленное о них.архитектура для пузырящихся событий через иерархию классов
Так что я мог бы что-то вроде:
- класса My Program.cs, что работает.
- Класс DoSomething.cs, который вызывается программой Program.cs.
- My DoSomethingInParticular.cs класс, который вызывается DoSomething.cs
- И так далее, и так далее.
Есть ли общепринятый способ позволить Program.cs знать о более низких изменениях?
Функционально Я хотел бы, чтобы мое консольное приложение выписывало события нижнего уровня в окно консоли, в котором я пытаюсь это сделать.
Если вы на самом деле хотите, чтобы ваши классы реализовать иерархию, вы лучше либо пропускание интерфейса (например, ILogger) к вашим функциям/классам) или с помощью МОК и запросить интерфейс для регистрации событий. –
Хотя это общепринятое и рекомендуемое соглашение, нет правила, согласно которому каждый исходный файл C# должен содержать один класс с тем же именем, что и файл. Вы можете иметь несколько классов в одном исходном файле, а один класс можно распространять на несколько исходных файлов. Поэтому не совсем правильно говорить о «классе Program.cs» и «классе DoSomething.cs» и т. Д. – RenniePet