Я хотел бы гарантировать, что два интерфейса никогда не будут найдены в одном и том же классе во время компиляции, подобно тому, как AttributeUsage проверяет пользовательские атрибуты во время компиляции.
e.g.:
[InterfaceUsage(MutuallyExclusive = typeof(B))]
interface A {
//...
}
interface B {
//...
}
class C : A, B { //should throw an error on compile time
//...
}
Очевидно, я могу сделать это во время выполнения с отражением, но меня интересует решение во время компиляции.
Я полагаю, что его, вероятно, не существует из коробки, но есть ли способ создать настраиваемый атрибут, который запускается во время компиляции, как это делает AttributeUsage?
IQueue
,IStack
иIDictionary
все время производные отLinkedList
), вы должны наверное пусть. - person user7116   schedule 09.05.2011