从不同名称空间中的不同类访问变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从不同名称空间中的不同类访问变量相关的知识,希望对你有一定的参考价值。

我有一个MVVM应用程序,我需要在某处声明一个变量并从我的程序集中的任何地方访问它,即从不同名称空间中的不同类访问它。我试图在主类中声明一个内部变量,但它不起作用。有任何想法吗?

答案

听起来你想要一个简单的“服务”

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";
        }
    }
}

我建议也使用一个界面。因此,您可以通过模拟界面轻松(单元)进行测试。所以,你有IVariableServiceVariableService实现它。客户端将获取接口,您的DI Framework配置将建立从接口到实现的单例实例的连接。

以上是关于从不同名称空间中的不同类访问变量的主要内容,如果未能解决你的问题,请参考以下文章

如何跨具有TestNG测试的不同类访问dependsOnMethod或dependsOnGroup?

访问从不同来源加载的 iframe 的内容

从不同文件夹中的多个库导入相同的变量

访问不同类中的 Spark 广播变量

阿里云名师课堂Java面向对象开发85:访问控制权限

如何包含两个不同的标题,其中包含两个具有相同名称的不同类?