Там какой-либо путь состоит в том, чтобы остановить метод, называемый во время компиляции?

У меня есть некоторые классы, которые имеют несколько методов, которыми я действительно не хочу быть там, но там просто, потому что Сериализатору XML нужны они. Там должен так или иначе генерировать ошибки/предупреждения времени компиляции, если их называют из пользовательского кода?

Я знаю, что могу реализовать IXmlSerializable, и я также знаю, что могу выделить классы в классы чисто хранения данных, однако, я не задаю вопрос о том, как я должен разработать такую систему, я просто спрашиваю, существует ли способ генерировать ошибки/предупреждения времени компиляции, если их называет что-либо, что не является сериализатором XML...

7
задан Matt Whitfield 29 January 2010 в 09:24
поделиться

3 ответа

Вы можете добавить

[Obsolete]

к способу. Свойство ISERROR устарелоэтайтетрибут контролирует, генерируется ли ошибка или предупреждение, и вы можете также предоставить пояснительное сообщение.

14
ответ дан 6 December 2019 в 10:00
поделиться

Вы можете скрыть методы от пользователей Intellisense, используя атрибут [редактируемые] [редактируемый] атрибут , а также из конструктора свойств, используя [BROWSBARY] , атрибут.

Я не рекомендую использовать [устарелоатрибут], потому что он передает другому значению, к какому методу фактически есть состояние метода. Вместо этого используйте комментарий, указывающий, что метод не должен использоваться из кода пользователя.

Также имейте в виду, что есть много пользователей, которые компилируют свой код с Предупреждениями угроз в качестве ошибок , что сделает невозможным для их компиляции действительного в этом случае.


0
ответ дан 6 December 2019 в 10:00
поделиться

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

5
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: