首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何访问自动实现属性的支持变量?

如何访问自动实现属性的支持变量?
EN

Stack Overflow用户
提问于 2008-09-14 17:19:54
回答 3查看 265.1K关注 0票数 79

在过去,我们像这样声明属性:

代码语言:javascript
复制
public class MyClass
{
    private int _age;

    public int Age
    {
          get{ return _age;  }
          set{ _age = value; }
    }
}

现在我们可以这样做:

代码语言:javascript
复制
public class MyClass
{
    public int Age {get; set;} 
}

我的问题是,如何访问使用此表示法自动创建的私有变量?

我更愿意访问私有变量,而不是公共访问器'Age‘。是否有访问私有变量的默认表示法,或者这是不可能的?

EN

回答 3

Stack Overflow用户

发布于 2008-09-14 17:35:11

使用自动属性意味着您不需要任何属性的获取/设置逻辑,因此私有支持变量是不必要的。

如果你的类中有任何复杂的逻辑,不要使用自动属性。只需像往常一样使用private int _age和普通的getter/setter。

IMO,自动属性更适合于快速实现一次性对象或临时数据胶囊,如:

代码语言:javascript
复制
public class TempMessage {
    public int FromID { get; set; }
    public int ToID { get; set; }
    public string Message { get; set; }
}

你不需要太多的逻辑。

票数 23
EN

Stack Overflow用户

发布于 2008-09-14 20:39:14

你不应该这样做,而且你也不太可能需要这样做。如果您需要访问该属性,只需使用公共属性(例如this.Age)。支持公共属性的私有字段没有什么特别之处,优先使用它而不是属性只是迷信。

票数 7
EN

Stack Overflow用户

发布于 2008-09-14 17:22:57

你不能,它是一种语言特性,而不是IDE特性。老实说,我更喜欢IDE为你添加私有变量。我同意这个类在内部必须使用公共入口点来访问它自己的变量,这有点奇怪。因此,我自己并不经常使用这个新特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档