代码之家  ›  专栏  ›  技术社区  ›  Jens

如何命名触发事件的方法?

  •  4
  • Jens  · 技术社区  · 14 年前

    OnPropertyChanged()
    FirePropertyChanged()
    TriggerPropertyChanged()
    RaisePropertyChanged()
    

    当然,这并不是非常重要,但我希望以“正确”的方式来做,不要用不寻常的命名约定来混淆其他人。=)

    6 回复  |  直到 8 年前
        1
  •  4
  •   RoXX    14 年前

    你应该使用 OnPropertyChanged 根据 MSDN CodeProject 那本书呢 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) .

    CodeProject中的引用仅指事件的命名,例如,如果您的事件表示发生了报警,则应将其命名 AlarmRaised .

        2
  •  3
  •   Bobby    14 年前

    OnPropertyChanged() 听起来像关联的事件处理程序。

    我会和你一起去 RaisePropertyChanged() .

        3
  •  2
  •   Henrik    14 年前

    把它叫做PropertyChanged是一种正常的做法。它与事件处理者的签名不同。 http://msdn.microsoft.com/en-us/library/ms743695.aspx

        4
  •  2
  •   Frosty840    14 年前

    如果您的事件是在内部引发的,那么当您想要引发事件时,只需要有一个RaiseEvent行,就不需要调用方法来这样做。

    编辑:如果您正在使用一个方法作为实现iNotifyPropertyChanged的一部分(而不是仅仅引发“PropertyChanged”事件,这是iNotifyPropertyChanged所需要的全部…),那么为什么不将该方法命名为“notifyPropertyChanged”以表明它是该实现的一部分呢?

    EDIT2:遵循此约定的MSDN代码: How to: Implement the INotifyPropertyChanged Interface

        5
  •  1
  •   Jagmag    14 年前

    除了OnPropertyChanged()之外(至少我觉得这有点误导),您可能还可以使用其他任何一种方法。

    然而,可能更重要的是整个应用程序中符号使用的一致性。

    如果你说选择 FirePropertyChanged ,从可维护性的角度来看,最关键的是,在整个应用程序中,所有以“Fire”为前缀的属性提升方法的模式都是强制执行的!

        6
  •  0
  •   elsni    14 年前

    我会使用FireOnPropertyChanged()。