是否可以在自己的类中隐藏字段(或只是操纵/隐藏自动完成)?

时间:2011-02-28 19:27:22

标签: c# visual-studio properties field

我有一个(非常)复杂的文件,通常混合使用组件。

我有一个字段(称为keyloaded)和一个链接属性(称为Keyloaded)。

在课堂上工作时,我不小心直接操纵了场地,而不是财产。

这很可能是因为我对这一切仍然相当新(我现在三重检查!),但是,这已经是一个私人领域,除了与班级合作之外。我可以做些简单的事情,将其从自动完成中删除吗?

如果没有,类似情况的最佳做法是什么?

在写这个问题的同时,我突然想起了我的书,他们谈到了下划线......这是否是最好的解决方案 - 把它放在视线之外?

3 个答案:

答案 0 :(得分:6)

就像Brian和KBoek提到的那样,你可以用下划线开始你的领域。但是,如果您确实要隐藏方法/字段/属性,可以设置属性,如图所示。这将阻止方法/字段/属性在intellesense中显示。但是,该成员仍然可以访问。

<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)> _
Public Property HiddenProperty()
    Get
        return _hiddenProperty
    End Get
    Set (value as object)
        _hiddenProperty = value
    End Set
End Sub

答案 1 :(得分:2)

我使用下划线作为私有字段的前缀,例如“_keyloaded”。如果属性仅设置并获取字段,请考虑创建如下的自动属性:

public bool Keyloaded { get; set; }

答案 2 :(得分:1)

我认为微软目前的代码语法标准说Field或Properties可以是Pascal Case。但是,我一直坚持使用字母应以下划线开头的约定。将keyloaded更改为_keyloaded。我想你会发现以这种方式识别字段,属性和本地之间的区别要容易得多。