إرشادات استخدام السمة
إطار عمل.NET المطورين من إلى invent أنواع جديدة من المعلومات مصرحة، إلى تحديد معلومات مصرحة للبرنامج متعددة من الوحدات، و إلى استرداد معلومات السمات في بيئة وقت التشغيل. تشغيل سبيل المثال، قد تقوم بإطار عمل لتعريف HelpAttributeالسمات التي يمكن وضعها في عناصر برنامج مثل الفئات وأساليب إلى توفر مخطط من عناصر برنامج إلى الوثائق الخاصة بها. يتم إعلان أنواع جديدة من المعلومات مصرحة من خلال إعلان سمة الفئات، والذي قد يكون الموضعية و المعلمات المسماة. للحصول على مزيد من المعلومات حول السمات، راجع من مخصص سمات الكتابة.
مخطط تفصيلي للقواعد التالية إرشادات الاستخدام للسمة فئات:
قم بإضافة Attributeلاحقة إلى cusإلىm سمة الفئات، كما هو موضح في المثال التالي.
Public Class ObsoleteAttribute
public class ObsoleteAttribute{}
قم بتحديد AttributeUsage تشغيل السمات الخاصة بك إلى تعريف استخدام الخاص بهم بشكل دقيق، كما هو موضح في المثال التالي.
<AttributeUsage(AttributeTargets.All, Inherited := False, AllowMultiple := True)> _ Public Class ObsoleteAttribute Inherits Attribute ' Insert code here. End Class
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)] public class ObsoleteAttribute: Attribute {}
تخزين البيانات الآمن سمة الفئات كلما أمكن ذلك، حيث لا يتم اشتقاق الفئات منها.
استخدم الوسيطات الموضعية (معلمات الدالة الإنشائية) للمعلمات المطلوبة. توفر خاصية للقراءة فقط بنفس الاسم كل وسيطة الموضعية، ولكن تغيير الحالة إلى التمييز بينهما. وهذا يسمح بالوصول إلى وسيطة في وقت التشغيل.
استخدام تسمية الوسيطات للمعلمات الاختيارية و توفر خاصية قراءه/كتابه لكل وسيطات مسمّاة.
لا تعرف معلمة مع كل من يدعى و الوسيطات الموضعية. The following تعليمات برمجية مثال illustrates this نقش.
Public Class NameAttribute Inherits Attribute Private userNameValue as String Private ageValue as Integer ' This is a positional argument. Public Sub New(userName As String) userNameValue = userName End Sub Public ReadOnly Property UserName() As String Get Return userNameValue End Get End Property ' This is a named argument. Public Property Age() As Integer Get Return ageValue End Get Set ageValue = value End Set End Property End Class
public class NameAttribute: Attribute { string userName; int age; // This is a positional argument. public NameAttribute (string userName) { this.userName = userName; } public string UserName { get { return userName; } } // This is a named argument. public int Age { get { return age; } set { age = value; } } }
أجزاء حقوق النشر 2005 Microsoft Office 2010 Suite Corporation. كافة الحقوق محفوظة.
أجزاء حقوق النشر شركة Addison-Wesley. كافة الحقوق محفوظة.
ل المزيد المعلومات تشغيل إرشادات التصميم، راجع "إطار عمل إرشادات التصميم: كتاب اصطلاحات، Idioms، و نقش لمكتبات.NET القابل لإعادة الاستخدام"ب Krzysztof Cwalina و رفيق Abrams، ينشره Addison-Wesley، 2005.