2013-12-21 4 views
3

У меня есть атрибут свойства, который может быть определен один раз для каждого класса, и пустой интерфейс, называемый ISql, который я просто использую, чтобы отмечать мои объекты, которым разрешено использовать мой собственный ORI Buillt.Атрибут свойства в интерфейсе

Есть ли способ заставить класс, который реализует ISql, иметь этот атрибут хотя бы один раз?

ответ

7

Нет, атрибуты не являются частью договора интерфейса, с точки зрения реализации.

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

2

Для такого рода проверки кода я хотел бы использовать Nitriq. Вы можете написать собственное правило очень легко с помощью Linq.

Для личного использования вы можете просто позвонить в Nitriq для проверки кода.

В крупных проектах я использовал шаг на непрерывной интеграции для запуска консоли Nitriq для проверки правил по отношению к коду

Смежные вопросы