Метод не предназначен для атрибута кода? - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть несколько общих методов в моем приложении, которые предназначены для использования с ObjectDataSource (и другими объектами на основе отражения). Они обрабатывают много автоматической проверки параметров, фильтрации и т. Д. Однако все они используются один раз (они перестраивают все при каждом вызове). Было бы гораздо лучше, если бы кто-то писал код напрямую, вызывал методы экземпляра, чтобы вся фильтрация и т. Д. Сохранялась между вызовами.

Есть ли атрибут, который я могу добавить к своим методам, чтобы указать это? Лучше всего было бы, если бы этот метод не вызывал метод без отражения. Во-вторых, лучше всего выдать предупреждение о неправильном использовании метода.

Вот пример того, что я хочу достичь:

<MethodNotIntendedForCode()> _
Public Shared Function DataAccessMethod(Parameters....) As ObjectQuery(Of DataType)

1 Ответ

2 голосов
/ 06 февраля 2012

Вы можете попробовать:

<Obsolete("This isn't the method you are looking for")>

, который создаст предупреждение при вызове в коде. Вы также можете использовать опцию в ObsoleteAttribute, чтобы пометить ее как ошибка (при компиляции), если вызывается напрямую.

Другой вариант, очевидно, просто сделать его закрытым. Другие полезные атрибуты здесь включают EditorBrowsableAttribute и BrowsableAttribute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...