gpt4 book ai didi

c#-4.0 - 如何在 C# 4.0 中创建静态类的属性

转载 作者:行者123 更新时间:2023-12-03 10:24:12 25 4
gpt4 key购买 nike

我创建了以下类(class)

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

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

提前致谢,
伊姆达杜森

最佳答案

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

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

您的 CustomerDataService.GetCustomerDataService方法(这个名字有点奇怪)应该*返回一个 CustomerServiceData而不仅仅是更新静态属性。

关于c#-4.0 - 如何在 C# 4.0 中创建静态类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9645156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com