03-10-12, 12:25 PM
My.Computer و My.Settings و My.Application هي تواجدات وحيدة الورقة Singleton Instances للفئات My.MyComputer و My.MySettings و My.MyApplication حيث يمكننا إضافة عناصر لهذه الفئات بسهولة باستخدام ميزة الفئات المجزأة Partial Class فمثلا الكود التالي يضيف إجراء يدعى Shutdown للغرض My.Computer
كود :
Namespace My
Partial Class MyComputer
Sub Shutdown()
...
End Sub
End Class
End Namespaceوإذا أردت جعل عناصرك التي قمت بإضافتها يمكن الوصول إليها كورقة مفردة مثل الفئات المذكورة يجب عليك إضافة خاصية للقراءة فقط للمجال My تعيد تواجدا عاما يماثل ذلك المزود من ThreadSafeObjectProvider(Of T) الذي يقوم بإنشاء صورة من تلك الفئة على مستوى المسلك Thread والكود التالي يرينا كيفية إضافة My.CustomMyObject مع عناصره
كود :
Namespace My
<Global.System.ComponentModel.EditorBrowsable _
(Global.System.ComponentModel.EditorBrowsableState.Never)> _
Partial Friend Class MyCustomMyObject
Public Sub Foo()
...
End Sub
Public Property Bar()
...
End Property
End Class
<Global.Microsoft.VisualBasic.HideModuleName()> _
Friend Module CustomMyObjectModule
Private instance As ThreadSafeObjectProvider(Of MyCustomMyObject)
ReadOnly Property CustomMyObject() As MyCustomMyObject
Get
Return instance.GetInstance()
End Get
End Property
End Module
End Namespace