1

我创建了以下课程

静态类 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;
        }
    }
}

现在我将静态类的值设置如下。客户数据服务.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
}

任何意见和建议将不胜感激!

提前致谢, 伊姆达杜森

4

1 回答 1

3

你不能——没有返回类本身这样的概念,你不能使用静态类作为参数类型、返回类型、变量类型等。

可以变成CustomerServiceData一个非静态类,但让它成为一个单例......但我个人会阻止它完全是静态的。静态数据——基本上是全局变量——使得测试代码和正确推理变得困难。尽可能避免使用全局数据。想想什么需要共享数据,以及获得共享数据的最佳方式(例如依赖注入、提供程序、将数据传递给方法等)。

您的CustomerDataService.GetCustomerDataService方法(名称有点奇怪)应该 *return aCustomerServiceData而不仅仅是更新静态属性。

于 2012-03-10T09:00:30.320 回答