小编Sei*_*Ali的帖子

c#中的observablecollection的CollectionChanged事件

如何更好地编写此代码:

void CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    if (sender is ObservableCollection<PromotionPurchaseAmount>)
    {
        if (e.Action == NotifyCollectionChangedAction.Remove)
        {
            foreach (PromotionPurchaseAmount item in e.NewItems)
            {
                //Removed items
                item.PropertyChanged -= EntityViewModelPropertyChanged;
            }
        }
        else if (e.Action == NotifyCollectionChangedAction.Add)
        {
            foreach (PromotionPurchaseAmount item in e.NewItems)
            {
                //Added items
                item.PropertyChanged += EntityViewModelPropertyChanged;
            }
        }
    }
    else if (sender is ObservableCollection<PromotionItemPricing>)
    {
        if (e.Action == NotifyCollectionChangedAction.Remove)
        {
            foreach (PromotionItemPricing item in e.NewItems)
            {
                //Removed items
                item.PropertyChanged -= EntityViewModelPropertyChanged;
            }
        }
        else if (e.Action == NotifyCollectionChangedAction.Add)
        { …
Run Code Online (Sandbox Code Playgroud)

c# events

4
推荐指数
1
解决办法
3752
查看次数

标签 统计

c# ×1

events ×1