منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تجزئة الكلاس أو الستركتشر على عدة ملفات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : samerselo

أنشئ مشروعا جديدا و أضف إليه ملفين Code File


في الملف الأول أدخل الكود التالي الذي هو عبارة عن كلاس اسمه Person

كود :
Public Class Person

Public Property FirstName() As String
Get
Return _FirstName
End Get
Set(ByVal value As String)
_FirstName = value.Trim
End Set
End Property

Public Property LastName() As String
Get
Return _LastName
End Get
Set(ByVal value As String)
_LastName = value.Trim
End Set
End Property

Public Sub New()
_FirstName = "John"
_LastName = "Doe"
End Sub

End Class
الآن في الملف الثاني أدخل الكود التالي الذي هو عبارة عن تتمة الكلاس person ذات نفسه

كود :
Partial Public Class Person

Private _FirstName As String
Private _LastName As String

Public Sub New(ByVal FirstName As String, ByVal LastName As String)
_FirstName = FirstName.Trim
_LastName = LastName.Trim
End Sub

Public ReadOnly Property FullName() As String
Get
Return _FirstName & " " & _LastName
End Get
End Property
End Class
لاحظ في الملف الثاني قبل تعريف الكلاس استخدام الكلمة Partial وهي التي تمكننا من تجزئة الكلاس Class أو الستركتشر Structure إلى عدة ملفات

كود :
Partial Public Class Person
نلاحظ من مكتبة MSDN

اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]Visual Basic uses partial-class definitions to separate generated code from user-authored code in separate source files. For example, the Windows Form Designer defines partial classes for controls such as Form. You should not modify the generated code in these controls. [/TD]
[/TR]
[/TABLE]


يستخدم فيجول بايزيك تعريف الكلاس الجزئي لفصل الكود المولد تلقائيا من الكود المكتوب من قبل المستخدم على ملفات منفصلة. فعلى سبيل المثال مصمم النماذج يحدد فئات Class جزئية للتحكمات مثل النموذج From. وعليك ألا تعدل الكود المولد تلقائيا لهذه التحكمات

وهذا المثال المطروح في المكتبة

كود :
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
ويبقى استخدام الكلاس كما هو كما لو كان ضمن ملف واحد كما كنا نفعل سابقا