C#属性获取私有集

Swa*_*wag -4 c# forms class

我怎么知道我需要使用以下哪一个:

public int Dollar { get; set };
public int Dollar { get; private set };
private int Dollar { get; set };
private int Dollar { get; private set };
Run Code Online (Sandbox Code Playgroud)

当我编程时,我总是问自己应该使用哪一个.有谁能解释我怎么知道我需要使用哪一个?

Say*_*yse 8

public int Dollar { get; set };
Run Code Online (Sandbox Code Playgroud)

可以在整个应用程序中检索和设置Dollar

public int Dollar { get; private set };
Run Code Online (Sandbox Code Playgroud)

可以在整个应用程序中检索Dollar,但只能从包含它的类中进行设置

private int Dollar { get; set };
Run Code Online (Sandbox Code Playgroud)

只有包含Dollar的类才能使用Dollar

编辑

注意:如果知道如何实现它,也可以在应用程序外部访问公共字段.Internal将使它只有应用程序可以使用该属性

编辑2

正如其他人所指出的,以下是编译器错误.

private int Dollar { get; private set };
Run Code Online (Sandbox Code Playgroud)

'ConsoleApplication1.Program.Dollar.set'访问器的可访问性修饰符必须比属性或索引器更具限制性