内部吸气剂,公共设定者c#

Pro*_*rof 0 c# getter setter public internal

我基本上想做这样的事情

public string Password
{
  set { password = value; }
}

internal string Password
{
  get { return password; }
}
Run Code Online (Sandbox Code Playgroud)

但是不必调用我的第二个函数别的东西(上面的代码不能编译,因为我使用了密码两次).我可以有setPassword和getPassword,但这似乎有点,好吧,垃圾:(

我的场景是我有一个包含核心业务逻辑的独立程序集(类库).我不希望任何使用类库的项目一旦设置就能查看密码.

Ser*_*rvy 7

它很简单:

public string Password { internal get; set; }
Run Code Online (Sandbox Code Playgroud)

值得注意的是,这是一个不寻常的事情,并且会违反很多人对房产的期望.虽然这是可能的,但最好是使用公共方法 SetPassword以及内部字段或内部GetPassword方法.人们根本不希望遇到他们可以设置但却得不到的财产(尽管反过来很常见).这可能是为数不多的有效用例之一,但只是为了遵循"最少惊喜"方法,请考虑使用方法.