Можно ли скрыть поле (или просто манипулировать / скрыть от автозаполнения) внутри своего класса? - PullRequest
5 голосов
/ 28 февраля 2011

У меня (довольно) сложный файл с обычным набором компонентов.

У меня есть поле (называемое keyloaded) и связанное свойство (называемое Keyloaded).

Работая в классе, я случайно напрямую манипулировал полем, а не свойством.

Скорее всего, это потому, что я все еще немного новичок во всем этом (сейчас я проверяю трижды!), Однако, это уже частное поле, и работа вне класса отлично работает. Есть ли что-то простое, что я могу сделать, чтобы удалить его из автозаполнения?

А если нет, каковы лучшие практики для подобной ситуации?

Когда я писал этот вопрос, я вдруг вспомнил в своей книге, что они говорили о подчеркивании ... Это лучшее решение - убрать его из виду?

Ответы [ 3 ]

6 голосов
/ 28 февраля 2011

Как упоминали Брайан и 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
2 голосов
/ 28 февраля 2011

Я использую подчеркивание в качестве префикса для приватных полей, например "_keyloaded". Если свойство только устанавливает и получает поле, рассмотрите возможность создания автоматического свойства следующим образом:

public bool Keyloaded { get; set; }
1 голос
/ 28 февраля 2011

Я думаю, что текущие стандарты синтаксиса кода говорят, что поля или свойства могут быть регистром Паскаля.Однако я всегда придерживался соглашения, что поля должны начинаться с подчеркивания.Изменить ключ загружен на _keyloaded.Я думаю, вам будет гораздо проще определить разницу между полями, свойствами и местными жителями таким образом.

...