نوع القائمة
تعيّن نوع المعلمات لعنصر البرمجة العام . يتم فصل المتغيرات المتعددة بفواصل. التالي هو بناء الجملة من أجل نوع معلمة واحد.
[genericmodifier] typename [ As constraintlist ]
الأجزاء
genericmodifier
اختياري. يمكن أن تستخدم فقط في الواجهات العامة و المفوضين. إمكانية تعريف نوع طردي باستخدام الكلمة الأساسية الخروج أو باستخدام الكلمة الأساسية IN. انظر التباين المشترك و Contravariance في (C#و Visual Basic)typename
مطلوبة. اسم نوع المعلمة. هذا عنصر نائب، للاستبدال حسب نوع معرف الذي تم توفيره من قبل نوع وسيطة مطابق.constraintlist
اختياري. قائمة متطلبات تقييده نوع بيانات التي يمكن أن يتم تزويد typename. إذا كان لديك عدة قيود قم بإحاطتها بأقواس متعرجة ({ }) و بفصلها مع بفواصل. يجب إدخال قائمة القيد مع الكلمة الأساسية كـ. استخدام As لمرة واحدة فقط، في البداية قائمة.
ملاحظات
يجب أن تتخذ كل عنصر البرمجة العامة نوع معلمة واحد على الأقل. نوع معلمة هي عنصر نائب لنوع معين (عنصر مكونة) يعين رمز العميل هذا عندما يقوم بإنشاء مثيل نوع عام. يمكنك تعريف فئة بنية عامة أو إجراء، واجهة أو تفويض.
للحصول على معلومات أكثر راجع حول متى يتم تعريف النوع العامالـأنواع العامة في Visual Basic. للحصول على مزيد من المعلومات حول أسماء نوع المعلمات راجع أسماء العنصر المعرف.
القواعد
الأقواس إذا توفر قائمة نوع معلمة عليك تضمين قوسين ثم يجب إدخال القائمة الكلمة الأساسية من. استخدام Of لمرة واحدة فقط، في البداية قائمة.
القيود قائمة قيود على نوع معلمة تضمين العناصر التالية في أي مجموعة:
أي عدد من الواجهات. نوع الموفر يجب أن يقوم كل واجهة في هذه القائمة.
فئة واحدة على الأكثر. يجب أن يرث النوع الذي تم توفيره من تلك الفئة.
الكلمة الأساسية New. يجب أن النوع الذي تم توفيره تعرض المُنشئ بدون معلمات يمكن الوصول إلى نوع عام. وهذا مفيد إذا قمت بتقييد نوع معلمة بسبب الواجهات أو أكثر. لا يعرض نوع بتنفيذ واجهات بالضرورة على مُنشئ ثم استناداً إلى المستوى الوصول من الدالة الإنشائية تعليمات برمجية داخل نوع عام قد يتعذر الوصول إليه.
إما كلمة أساسية Class أو كلمة أساسية Structure . الكلمة أساسية Class يقيد نوع معلمة عام إلى تتطلب أن أي نوع وسيطة الذي تم تمريره إلى أن يكون نوع المرجع على سبيل المثال سلسلة ، الصفيف أو المفوض, أو إنشاء كائن من فئة. الكلمة أساسية Structure يقيد نوع معلمة العام إلى تتطلب أن أي نوع وسيطة الذي تم تمريره إلى كما يكون نوع القيمة على سبيل المثال اكتب البنية أو التعداد أو بيانات أولية. لا يمكنك تضمين كلا Class و Structure في نفس constraintlist.
يجب أن تحققها التي تم توفيرها نوع متطلبات كل تضمينها في constraintlist.
قيود على كل نوع معلمة تكون مستقلة عن القيود على معلمات نوع أخرى.
السلوك
استبدال وقت التحويل برمجياً. عند إنشاء نوع مكونة من عنصر برمجة عامة توفير نوع معرّفة لكل نوع معلمة. استبدال برنامج التحويل البرمجي Visual Basic التي تم توفيرها نوع عن كل تواجد typename داخل العنصر العام.
غياب قيود. إذا لم تقم بتحديد أي قيود تشغيل نوع معلمة تعليمات برمجية يقتصر تشغيل عمليات وأعضاء المعتمدة من قبل نوع البيانات كائن للحصول على ذلك نوع معلمة.
مثال
يوضح المثال التالي تعريف فئة skeleton عامة القاموس دالة skeleton إضافة إدخال جديد إلى القاموس.
Public Class dictionary(Of entryType, keyType As {IComparable, IFormattable, New})
Public Sub add(ByVal et As entryType, ByVal kt As keyType)
Dim dk As keyType
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
لأن dictionary يتم عامة, تعليمات برمجية التي تستخدم فإنه يمكن إنشاء العديد من الكائنات من عليها، كل الحاجة الوظيفة نفسها ولكن التي تعمل على مختلف نوع البيانات. يظهر المثال التالي خط من تعليمات برمجية التي ينشئها dictionary كائن مع String إدخالات و Integer مفاتيح.
Dim dictInt As New dictionary(Of String, Integer)
يوضح المثال التالي تعريف skeleton المماثلة التي تم إنشاؤها بواسطة المثال السابق.
Public Class dictionary
Public Sub add(ByVal et As String, ByVal kt As Integer)
Dim dk As Integer
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
راجع أيضًا:
المهام
كيفية القيام بما يلي: استخدام فئة عامة
المرجع
في (معدّل عام) في (Visual Basic)
Out (معدّل عام) في (Visual Basic)
المبادئ
مستويات الوصول في Visual Basic