Доступ к переменной из разных классов, которые находятся в разных пространствах имен - PullRequest
0 голосов
/ 25 января 2019

У меня есть приложение MVVM, и мне нужно где-то объявить переменную и получить к ней доступ из любого места в моей сборке, то есть из разных классов в разных пространствах имен. Я попытался объявить внутреннюю переменную в главном классе, но она не работает. Есть идеи?

1 Ответ

0 голосов
/ 25 января 2019

Звучит так, будто ты хочешь простой "Сервис"

namespace en.my.services
{
     public class VariableService
     {
         public string SomeVariable {get; set;}
     }
}

Который вы можете вводить при необходимости:

using en.my.services; // Make Service namespace known

namespace en.my.clients 
{
    public class MyServiceClient
    {
        VariableService svc = null;

        public MyServiceClient ( VariableService varsserv ) // <- Parameter-Injection via 
                                                            // your DI Framework
        {   
            svc = varserv;
        }

        public void SomeMethod()
        {
            svc.SomeVariable = "Update";
        }
    }
}

Я бы порекомендовал также использовать интерфейс. Таким образом, вы можете легко (unit-) тестировать, издеваясь над интерфейсом. Итак, у вас есть IVariableService и VariableService для его реализации. Клиенты получат интерфейс, а ваша конфигурация DI Framework установит соединение интерфейса с одноэлементным экземпляром реализации.

...