مشاركة عبر


إرشادات استخدام السمة

إطار عمل.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.

راجع أيضًا:

المبادئ

إرشادات الاستخدام

موارد أخرى

تصميم إرشادات لتطوير مكتبات فئة