Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1181 / 623 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
1

Передача информации в одном и то ме слое, но из разных свойств

19.07.2022, 13:19. Показов 291. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть вот такой вот перечень интерфейсов:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public interface IMeetingAuthorization
    {
        IAuthorizationService Authorization { get; }
    }
 
    public interface IMeetingUsers
    {
        IUsersService Users { get; }
    }
 
    public interface IMeetingChat
    {
        IChatService Chat { get; }
    }
 
    public interface IMeetingCaptureFrames
    {
        ICaptureFramesService CaptureFrames { get; }
    }
 
    public interface IMeetingService : IMeetingAuthorization, IMeetingUsers, IMeetingChat, IMeetingCaptureFrames, IDisposable
    {
    }
Если пользователь авторизовался, у него появляется Metadata в свойстве типа IAuthorizationService.
Но об этой метадате должны знать и другие члены IMeetingService.

По сути все свойства находятся на одном и том же уровне, но информация запечатана в одном из них, что неудобно.

Updated
Пока решил проблему следующим способом:
Через конструктор пробрасываю такой вот тип:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    internal sealed class MetadataRepository
    {
        public Metadata CurrentMetadata { get; private set; }
 
        public event EventHandler<Metadata> MetadataChanged;
 
        public void SetMetadata(Metadata metadata)
        {
            if (CurrentMetadata == metadata)
                return;
 
            CurrentMetadata = metadata;
            MetadataChanged?.Invoke(this, metadata);
        }
    }
Источник GitHub
C#
1
2
3
4
5
6
7
8
9
10
        public ChatService(ChatClient client, MetadataRepository metadataRepos)
        {
            _client = client;
 
            _metadataRepos = metadataRepos;
            _metadataRepos.MetadataChanged += OnMetadataChanged;
            _metadata = _metadataRepos.CurrentMetadata;
 
            Messages = new ReadOnlyDictionary<Guid, MessageDto>(messages);
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2022, 13:19
Ответы с готовыми решениями:

Как можно создать последовательность разных кадров (изображений) в одном слое в программе KoolMoves
Расскажите, пожалуйста, как можно создать последовательность разных кадров в одном слое в программе...

Создание элементов на одном слое
Привет! С выделением я разобрался. Теперь проблема: У меня почему то при добавления нового...

Как заставить Eagle трассировать микросхемы в одном слое
Доброго времени суток, вопрос в том, как заставить Eagle CAD трассировать микросхемы, такие как...

Можно ли в одном слое прописать сразу три рисунка
А дело так. Имеется три рисунка. Правый, левый, и заполнитель. между ними (repeat-x). Вопрос в...

0
19.07.2022, 13:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2022, 13:19
Помогаю со студенческими работами здесь

Изучение свойств энтропии и информации. Определение состояния технической системы методами теории информации
Почему рекомендуется начинать программу поиска с проверки , сумма вероятностей отказов проверяемых...

В одном слое есть поле для ввода текста,в другом происходит зацикливание с помощью gotoandplay() на конечном фрейме,когда ввожу текст не успеваю
В одном слое есть поле для ввода текста,в другом происходит зацикливание с помощью gotoandplay() на...

Несколько разных файлов с роутами в разных папках в одном проекте
Здравствуйте. Возник вопрос. Могут ли быть несколько файлов с роутами в разных папках одного...

Получение информации из базы данных и передача этой информации через массив на другую страницу
Здравствуйте! У меня возникла проблема при передачи массива на другую страницу. Массив я получаю из...

Чтение информации из свойств файлов
Мне необходимо получить хоть какую-нибудь информацию о чтении информации из свойств файлов. В фото...

Если в массиве есть запись хотя бы в одном из трех свойств, то
Приветствую! Ребята, за ранее извиняюсь, что вопрос не очень корректно сформулирован, у меня...

Прописание свойств для разных браузеров
Как сделать ширину и высоту элемента для каждого браузера разную?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru