способ узнать, кто вызвал зарегистрированное событие, мою программу или их в API - PullRequest
1 голос
/ 22 апреля 2020

ОК, поэтому написание API для управления системой просмотра изображений. У нас есть их API в нашей программе. Мы забираем все общие события, используя события регистра, такие как

context_server.PasswordChange += ContextServer_PasswordChange;

, поэтому теперь я устанавливаю пароль в своем коде

connector.ContextServer.password = MCrypto.EncryptPasswordAnsi(password);

, что заставляет нас запускать событие на нашей стороне

       void ContextServer_PasswordChange(string Password_string)

теперь ... я инициировал этот вызов ... поэтому, когда мы сделаем это ... другая система сменит пароль на своей стороне, и мы увидим, что этот вызов повторяется ... как ответ ... так правильно теперь у меня есть переменная, говорящая WeInitiated = true, прямо перед тем, как я вызываю некоторый код, который будет запускать каждое зарегистрированное событие, и когда это происходит, я устанавливаю его в false .. поэтому, когда они вызывают, я знаю, что они инициировали его. так выглядит это

        void ContextServer_PasswordChange(string Password_string)
    {
        String fn = "ContextServer_PasswordChange: ";

        if (WeInitiated)
        {
            log.Debug(fn + " WeInitiated");
            WeInitiated = false;
        }
        else
        {
            log.Debug(fn + " They Initiated");
        }}

Так что я пытаюсь выяснить, есть ли лучший способ сделать это .. есть ли способ узнать, кто инициировал вызов зарегистрированного события? К вашему сведению ... Я не профессионал в зарегистрированных мероприятиях ... это мой первый раз, когда я его использую ..

Любые идеи и советы приветствуются ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...