gpt4 book ai didi

c# - 重构 PropertyChangedEventHandler

转载 作者:行者123 更新时间:2023-11-30 12:18:29 25 4
gpt4 key购买 nike

在我的 UI 代码中,我有很多具有相同基本框架的类:

  • 派生自 INotifyPropertyChanged
  • 包含以下代码:

    void NotifyPropertyChanged(String info)
    {
    if (PropertyChanged != null)
    {
    PropertyChanged(this, new PropertyChangedEventArgs(info));
    }
    }

    public event PropertyChangedEventHandler PropertyChanged;

这似乎是将一个类作为因素并从该类派生而不是 INotifyPropertyChanged 的​​绝好机会,但遗憾的是 C# 不支持多重继承,因此它不会真正发挥作用。关于如何重构此类代码的任何想法?

最佳答案

你不能把这段代码放到你父类(super class)的父类(super class)中吗?

  • 对象
    • 您的具体 NotifyPropertyChanged 类 <-- 在此处插入
      • 无论您的 View 模型继承自什么(并阻止您使用多重继承
        • 你的具体 View 模型
        • 另一个具体的 View 模型

大多数 MVVM 框架都为您提供了这样一个类。

不幸的是,由于围绕事件的访问规则,您不能在没有反射的情况下将其分解为扩展方法。

关于c# - 重构 PropertyChangedEventHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183707/

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