当将我的 xaml 数据绑定(bind)到某些数据时,我经常使用属性的“获取”部分来执行某些逻辑。就像给出列表的总和或检查是否有正数。
例如:
public List<SomeClass> ListOfSomeClass{get;set;}
public double SumOfSomeClass
{
get
{
return ListOfSomeClass.Sum(s => s.Totals);
}
}
public bool SumPositive
{
get
{
if(SumOfSomeClass >= 0)
return true;
else
return false;
}
}
这样我就可以绑定(bind)到 SumPositive 和 SumOfSomeClass。这被认为是好的做法吗?即使它变得比这更复杂?或者调用一个方法并返回结果会更好吗?调用另一个类甚至数据库怎么样?
最佳答案
Property getters 应该是快速和幂等的(即不应在那里执行破坏性操作)。虽然遍历内存中的对象集合非常好,但我不建议在 get 或 set 部分中进行任何繁重的工作。说到迭代,我仍然会缓存结果以节省几毫秒。
关于c# - 获取部分属性(property)的逻辑。好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/495864/