我创建了以下课程
静态类CustomerServiceData.cs
namespace QSys.Library.Security
{
public static class CustomerServiceData
{
public static bool CompanyNameUpdatable
{
get;
set;
}
public static bool AddressUpdatable
{
get;
set;
}
public static bool CityUpdatable
{
get;
set;
}
}
}
现在我将静态类的值设置如下。的 CustomerDataService.cs
namespace QSys.Web.Services
{
public class CustomerDataService : DomainService
{
public void GetCustomerDataService()
{
CustomerServiceData.CompanyNameUpdatable = true;
CustomerServiceData.AddressUpdatable = true;
CustomerServiceData.CityUpdatable = true;
}
}
}
这里我想创建静态类属性,它将返回整个静态类,如 CustomerViewModel.cs
public class CustomerViewModel : NotificationObject
{
#region Properties
public CustomerServiceData SecurityData
{
get
{
// I HAVE RETURN CustomerServiceData AS STATIC
//What should be coming here...?
return CustomerServiceData;
}
}
public Customer Customer
{
get { return _customer; }
set
{
_customer = value;
RaisePropertyChanged(() => Customer);
}
}
#endregion
}
我们将不胜感激任何意见和建议!
先谢谢, Imdadhusen
答案 0 :(得分:3)
你不能 - 没有返回类本身这样的概念,你不能使用静态类作为参数类型,返回类型,变量类型等。
你可以将CustomerServiceData
变成一个非静态类但是让它成为一个单独的...但我个人只是想让它完全不再是静态的。静态数据 - 基本上是全局的 - 使得很难测试代码并正确地推理它。尽可能避免使用全局数据。考虑共享数据需要什么,以及获取共享数据的最佳方式(例如依赖注入,提供者,将数据传递给方法等)。
您的CustomerDataService.GetCustomerDataService
方法(有点奇怪的名称)应该*返回CustomerServiceData
而不是仅仅更新静态属性。