gpt4 book ai didi

.net - 使用 .NET 属性的最佳做法是什么?

转载 作者:行者123 更新时间:2023-12-04 17:13:40 25 4
gpt4 key购买 nike

我对我应该对属性做多少感到有点困惑。
我听说属性应该始终代表类的逻辑属性。
Get 和 Set 几乎从不抛出 ArgumentOutOfRange 异常。真的吗?下面的例子完全错误吗?

public bool DeviceRegistered
{
get{ return _Registered;}
set
{
if(value)
{
RegisterDevice();
_Registered = true;
}
else
{
UnRegisterDevice();
_Registered = false;
}
}
}

另外,如果同一类中的方法想要更改属性的值,是应该通过属性的 set 访问器还是直接修改私有(private)变量 _Registered?

如果您在使用属性时有任何其他建议,请包括!
谢谢

最佳答案

这是 Design Guidelines for properties 的链接来自 MSDN。特别注意Property vs Method部分。

根据我自己的个人经验,您不应该使用属性来做很多工作。他们应该返回已经检索到的信息。我目前正在开发一个代码库,该代码库具有许多从 Web 服务检索信息的延迟加载属性。在调试时查看类的属性会导致评估所有属性,从而导致功能评估超时和 ASP.NET 进程崩溃。

关于.net - 使用 .NET 属性的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334968/

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