Aşağıdakileri göz önüne alarak, derleyicinin AllowMultiple = false olarak ayarlandığında, temel öznitelikten türetilen birden çok özniteliğe izin vermesini beklemezdim. Aslında sorun olmadan derler - burada ne eksik?Türetilmiş öznitelik türleri üzerinde AttributeUsage onurlandırma
using System;
[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=true)]
abstract class BaseAttribute : Attribute { }
sealed class DerivedAttributeA : BaseAttribute { }
sealed class DerivedAttributeB : BaseAttribute { }
class Sample1
{
[DerivedAttributeA()]
[DerivedAttributeB()]
public string PropertyA{ get; set; } // allowed, concrete classes differ
[DerivedAttributeA()]
[DerivedAttributeA()]
public string PropertyB { get; set; } // not allowed, concrete classes the same, honours AllowMultiple=false on BaseAttribute
}
Bu durumdan endişeleniyorum, onay için teşekkürler. –