C#.net是否有更好的方法可以在课堂上多次计数列表?

时间:2020-07-13 16:15:51

标签: c# .net

我有这样的财产:

private int _Counter;
public int Counter;
{ 
    get { return _Counter; }
    set { _Counter = value; OnPropertyChanged(); }
)

在课堂上,我必须在某些操作后多次检查Counter值

Counter = List.Where(item => item.State.ToUpper() = "SOME STATE").Count();
  1. 我是否总是必须调用上面的整行代码来计数列表,还是有一个简单的方法?将代码直接放入属性或其他内容中
  1. 我可以放置通用的属性,例如ViewModelBase,然后在其他类中继承它吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我猜您有一个UI元素来显示更新的计数,该计数是从特定的计数逻辑派生的

在这种情况下,您的Count可能在BaseViewModel上,但是可能很简单

public virtual int Counter;
{ 
    get ;
    set ;
)

public ObservableCollection<YourType> Items {get;set;} 

您继承的ViewModel将具有另一个字段

public override int Count { 
    get => _Count;
    set => this.SetPropertyChanged (ref _Count, "Count"); // if using Prism 
}

现在,您想在子视图模型中添加一些内容来监听OnCollectionChange,然后通过设置宣布Count更改

this.Count = // your counting logic 

因此,我真的没有必要多次设置此值,除非我错过了您要实现的目标