WPF 中具有绑定的 public/private 成员的编码约定是什么?

What's the coding convention about public/private members in WPF with binding?

我知道这是一个在 Whosebug 中引起广泛争论的问题(例如在 Should I use public or private variables? 中),但我一直未能找到合适的答案来解决我的疑问。

简而言之,OO 编码礼仪要求 class 的成员保密,或者 getters/setters 用作替代。

但是,WPF 中的数据绑定不会成功,除非绑定的 class 成员是 public。那么,最好的出路是什么?我是否应该接受宣布 public 成员作为丑陋但必要的妥协?

数据绑定通常用于属性,而不是字段,因此这与字段应保持私有的一般原则不矛盾。

“class 的成员必须保密”这句话本身是不正确的。 字段 应保密。术语“成员”表示字段以及方法或属性。当然,拥有 public.

的方法或属性是完全明智的