【发布时间】:2018-06-24 11:28:46
【问题描述】:
我们可以在方法中声明一个局部变量。但是为什么我们不能在方法中声明一个属性或字段呢?
在下面的示例中,我可以在方法中声明局部变量,但不能声明属性。
我是 C# 新手。所以如果我错了,请纠正我。
class Program
{
Public void Learn()
{
int f = 5;
// int a { get; set;};
}
}
【问题讨论】:
-
因为编译器不允许。
-
为什么要在方法中使用属性?不管
static与否。另外,这不是一个字段,它是一个变量。 -
我是 C# 新手。所以我正在学习为什么我们不能在方法中声明一个属性?
-
尽管投反对票,这并不是一个坏问题! - 这真的取决于你想要什么样的答案。一种是因为没有意义;另一个是:因为语言是这样定义的。 对于前者:通过
ClassName.MethodName.property而不是ClassName.property访问它可以获得什么?对于后者:MSDN:在类块中声明属性 -
这应该有助于理解 properties actually are 的含义,以了解为什么不能在方法中声明它们。属性通常用于表示类级别的公共状态,字段用于表示类级别的私有状态。变量在方法级别声明,因为它们不代表对象的状态
标签: c# .net visual-studio c#-4.0 c#-3.0