Я не верю, что атрибуты, определенные в реализованных интерфейсах, могут быть разумно унаследованы. Рассмотрим этот случай:
[AttributeUsage(Inherited=true, AllowMultiple=false)]
public class SomethingAttribute : Attribute {
public string Value { get; set; }
public SomethingAttribute(string value) {
Value = value;
}
}
[Something("hello")]
public interface A { }
[Something("world")]
public interface B { }
public class C : A, B { }
Поскольку атрибут указывает, что мультипликаторы недопустимы, как можно ожидать, что эта ситуация будет обработана?