我刚刚意识到c# 财产构造也可以与私人访问修饰符一起使用:
private string Password { get; set; }
虽然这在技术上很有趣,但我无法想象什么时候会使用它,因为私人领域甚至涉及更少的仪式:
private string _password;
并且我无法想象什么时候我需要能够在内部get but not set或set but not get作为私有字段:
private string Password { get; }
或
private string Password { set; }
但是可能存在嵌套/继承类的用例,或者可能get/set可能包含逻辑,而不是仅仅返回属性的值,尽管我倾向于保持属性严格简单,并让显式方法执行任何逻辑,例如GetEncodedPassword()
。
是否有人出于某种原因在c#中使用私有属性,或者它只是那些技术上可行但在实际代码中很少使用的结构之一?
不错的答案,我仔细阅读了这些私人财产的用途: