访问来自不同命名空间中的不同 类 的变量
Access a variable from different classes that are in different namespaces
我有一个 MVVM 应用程序,我需要在某处声明一个变量并从程序集中的任何位置访问它,即从不同名称空间中的不同 classes 访问它。我试图在 main class 中声明一个内部变量,但它不起作用。有什么想法吗?
听起来你想要一个简单的 "Service"
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";
}
}
}
我建议也使用一个界面。因此,您可以通过模拟界面轻松地进行(单元)测试。因此,您需要 IVariableService
和 VariableService
来实现它。客户端将采用接口,而您的 DI 框架配置将建立从接口到实现的单例实例的连接。
我有一个 MVVM 应用程序,我需要在某处声明一个变量并从程序集中的任何位置访问它,即从不同名称空间中的不同 classes 访问它。我试图在 main class 中声明一个内部变量,但它不起作用。有什么想法吗?
听起来你想要一个简单的 "Service"
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";
}
}
}
我建议也使用一个界面。因此,您可以通过模拟界面轻松地进行(单元)测试。因此,您需要 IVariableService
和 VariableService
来实现它。客户端将采用接口,而您的 DI 框架配置将建立从接口到实现的单例实例的连接。