Замечание на sonar: “Refactor your code not to use hardcoded absolute paths or URIs.”

203
09 сентября 2018, 00:50

Имею проблему с указанием путей к файлам в WPF приложении. Изображение приложение находит только, когда они прописаны вот так:

    private const string transparentImagePath = @"/ConnectorCore;component/UI/images/transparentImg.png";
    private const string greyLockImagePath = @"/ConnectorCore;component/UI/images/greyLock.png";
    private const string redLockImagePath = @"/ConnectorCore;component/UI/images/redLock.png";
    internal CheckOutFiles(Item itemIndex)
    {
        try
        {
            switch (itemIndex.getLockStatus())
            {
                case 0:
                    Locked = new Uri(transparentImagePath, UriKind.Relative);
                    break;
                case 1:
                    Locked = new Uri(greyLockImagePath, UriKind.Relative);
                    break;
                case 2:
                    Locked = new Uri(redLockImagePath, UriKind.Relative);
                    break;
                default:
                    break;
            }
     }

И в этом случае при анализе моего кода на Sonar выдается замечание: "Refactor your code not to use hardcoded absolute paths or URIs."

Я экспериментировали с указанием путей: и через "pack://application:...", и через "~/", и через указание пути без "/ConnectorCore;component"... Но тогда файлы не находятся и изображение не отображаются.

Так же была попытка прописать пути в конфиге, но почему-то возвращается 0 keys, то есть приложение не находило вообще ключей в App.config. Возможно это из-за того, что в солюшене 2 проекта.

Подскажите, пожалуйста, что нужно изменить в путях, чтобы не появлялись замечания на sonar и чтобы картинки отображались корректно.

READ ALSO
Программа должна печатать ромб одним из значков (* или + или #)

Программа должна печатать ромб одним из значков (* или + или #)

Компилятор никакой ошибки не выдает, но массив не печатаетЧто не так?

613
Помогите со скриптом в Unity

Помогите со скриптом в Unity

Как сделать так, чтобы по нажатию мышкой (тапом) несколько раз, персонаж ускорялсяНапример, на денди была игра Hyper Sports (Прыжки в длину, бег на 100 м и тд)

194
Как отправить атрибуты используя WSDL Zimbra

Как отправить атрибуты используя WSDL Zimbra

Всем привет, создаю почту, но никак не понимаю как туда добавить атрибуты типо displayname,sn и givennameЗапрос через браузер выглядит так

217
Идентификация nullable типа

Идентификация nullable типа

Есть функция, принимающая object argВ самой функции требуется получить тип переданного объекта

190