hedefliyor. Bu, yorumda gösterilen, kolayca sabitlenen bir derleyici hatası oluşturdu.belirtin gerekli temel sınıf I alt sınıf bıraktığı aşağıda ancak yanlışlıkla koduyla özel NET özellik yaratmak için çalıştı
// results in compiler error CS0641: Attribute 'AttributeUsage' is
// only valid on classes derived from System.Attribute
[AttributeUsage(AttributeTargets.Class)]
internal class ToolDeclarationAttribute
{
internal ToolDeclarationAttribute()
{
}
}
Sorum derleyici [AttributeUsage]
niteliği yalnızca System.Attribute
bir alt sınıfa uygulanabilir biliyor mu nasıl? .NET yansıtıcı ben AttributeUsageAttribute
sınıf bildirimi üzerine özel bir şey görmüyorum kullanma. Ne yazık ki bu sadece derleyici tarafından üretilen özel bir durum olabilir.
[Serializable, ComVisible(true), AttributeUsage(AttributeTargets.Class, Inherited=true)]
public sealed class AttributeUsageAttribute : Attribute
{
...
benim özel niteliği yalnızca belirli sınıfın (ya arayüzünün) sınıfının alt yerleştirilebilir belirtmek edebilmek istiyorum
. Mümkün mü?
kullanabilirsiniz. Sınıf düzeyinde meta verileri bir parametre olarak iletmeniz gerektiğinde, aynı işlevleri gerçekleştirir. Yani eğer örnekler kolayca söyleyebildiyse, bir şey sayılırsa, arayüz bunu elde etmek için bir kamu mülkiyetini gerektirebilir. Sınıf seviyesinde olması gerekiyorsa, Attributes ile kaldınız. –