C#getters和setters方法定义 - 初学者

时间:2012-12-31 17:25:41

标签: c#

我是C#的新手。我正在阅读一个教程。它显示了如何为变量创建accesor-mutator,如下所示;

public String var1 {

get {return "";}
set {someVar = value;}

} 

1。)我不能创建像java中创建的getter和setter

public getVar() {return "";}
public setVar(String x){var=x;}

2.。)C#中使用的value是什么?

4 个答案:

答案 0 :(得分:9)

  1. 你可以,但这样使用起来会更烦人,而忽略了C#编码指南。

  2. value是setter的隐含参数。它包含调用者将属性设置为的值。 (Property = something电话的右侧)

  3. 请参阅documentation

答案 1 :(得分:4)

  1. 当然可以。 C#中的属性被设计为语法糖。在引擎盖下,属性只不过是一个get / set方法。创建这两个方法更容易,它将两个方法保存在源代码中的一个位置,它为调用者提供了更简单的语法,并且除了获取/设置值之外什么都不做的属性更容易生成。

  2. 这是一个关键字。它是传递给方法的值。如果有人输入obj.var1 = "abc";,则value将引用"abc"

答案 2 :(得分:3)

当然,你可以像Java那样做。但为什么?从调用者的角度来看,属性语法可以提供更好的体验。

value是一个伪变量,可用于设置内部变量等等。它类似于Java类示例中的x

答案 3 :(得分:1)

是的,您可以像在java中一样创建getter setter 示例

int marks;
public void setMarks(int marks)
{
this.marks=marks;
}
public int getMarks()
{
return marks;
}