Как проверить опцию voice.mark-done-on-release из пользовательского кода

В нашей настройке Workspace мне нужно проверить, установлен ли для параметра voice.mark-done-on-release значение true. Используя декомпилятор, я вижу, что эта опция доступна в объекте Genesyslab.Desktop.Modules.Voice.VoiceOptions как свойство VoiceMarkDoneOnRelease - но как мне к этому добраться?

Я вижу, что все, что мне нужно сделать, это получить значение из ConfigManager, но было бы неплохо вместо этого ссылаться на публичное свойство, чтобы, если оно когда-либо изменится, компилятор узнал об этом.

 namespace Genesyslab.Desktop.Modules.Voice
 {
     public class VoiceOptions : Options
     {
     ...
         public bool VoiceMarkDoneOnRelease
         {
             get
             {
                 return this.configManager.GetValueAsBoolean("voice.mark-done-on-release", false);
             }
         }

1 ответ

Лучший способ, который я мог бы найти, - внедрить IConfigManager и создать собственный экземпляр VoiceOptions:

using Genesyslab.Desktop.Infrastructure.Configuration;

namespace YourNamespace
{
    public class YourClass
    {
        private readonly IConfigManager _genesysConfigManager;

        public CAMSessionService(IConfigManager genesysConfigManager)
        {
            _genesysConfigManager = genesysConfigManager;
        }

        private VoiceOptions GetVoiceOptions()
        {
            return VoiceOptions.CreateNewInstance(_genesysConfigManager);
        }
}
Другие вопросы по тегам