0

在我们的工作区自定义中,我需要检查 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);
             }
         }
4

1 回答 1

0

我能找到的最好方法是注入 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);
        }
}
于 2018-01-30T22:51:24.170 回答