Как проверить опцию 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);
}
}