gpt4 book ai didi

c# - 我什么时候应该更喜欢属性而不是方法?

转载 作者:行者123 更新时间:2023-11-30 13:23:02 26 4
gpt4 key购买 nike

什么时候我应该更喜欢属性而不是方法?因为当我使用属性时,下面的代码更具可读性。

string agency = base.GetAgencyDetails();

string agency = base.Agency; //I could write same logic in getter of the property.

最佳答案

就个人而言,我会关注 MSDN Guidelines对此。

In general, methods represent actions and properties represent data. Properties are meant to be used like fields, meaning that properties should not be computationally complex or produce side effects. When it does not violate the following guidelines, consider using a property, rather than a method, because less experienced developers find properties easier to use.

如果您考虑一下,这是非常有意义的,方法更适合可能以某种方式改变数据的东西,而属性非常适合您检索某些数据并将其缓存。

如果您正在使用显式支持的属性,您甚至可以在转换的情况下将两者结合起来:

private ObjType _myObjWithStringification;
private string _stringRepOfData;

public string StringRepresentation
{
get {
if (_stringRepOfData == null) {
_stringRepOfData = _myObjWithStringification.ToString();
}
return _stringRepOfData;
}
}

回复:您的可维护性评论,我不确定它是否有效。如果您要按 F12 转到您正在使用的属性的声明,您将直接转到 getter,就像您去如果您使用了方法,则添加到方法体。

我不确定假设属性不会具有任何自定义检索逻辑是否安全。

关于c# - 我什么时候应该更喜欢属性而不是方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15164187/

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