07-10-15, 02:21 AM
(آخر تعديل لهذه المشاركة : 07-10-15, 06:08 PM {2} بواسطة silverlight.)
الأخ الفاضل الشاكي لله
أعتقد انه لا يوجد شئ بدائي او عدم بدائي في كتابة الكود المهم في الأمر ان الكود يخدم احتياجاتك باي طريقة ممكنة و الأهم إن الكود يتم كتابته بشكل صحيح ففي الكود الخاص بك أنت قمت بتعريف متغير يعبر عن Structure ثم اعطيت قيمة لأحد عناصره ثم قمت بتعريف متغير أخر يرمز لنفس Structure ثم قمت بمساواة الاثنان معا
عموما و علي ما اعتقد ما تم استخدامه مع Class يمكن استخدامه مع Structure ففي النهاية الاثنان اساسهم واحد و الفارق بينهما يكمن فقط في نوعية البيانات او في DataTypes لكل منهما لكن فكرة الحصول علي نسخة منهما ستظل واحدة مع الوضع ف الاعتبار نوعية البيانات طبقا لما شرحته مايكروسوفت في المثال الخاص بها خاصة اذا كانت البيانات من النوع Reference Type
أو يمكن كتابة الكود بشكل مباشر كالأتي:
عموما انا الأمر لفت انتباهي ليس إلا لذلك اردت الكتابة عنه ربما يستفيد منه الأخرون
الأخ الفاضل أبو عمر
بما ان DynamicObject Class أساسه Object Class فنفس الاسلوب يسري عليه لكن نأثير هذا علي موارد النظام ف وحده الله اعلم
لكني لا أعتقد إن أخذ نسخة من كلاس ما سيكون له تأثير ما علي موارد نظام التشغيل
كمثال أري أن الفكرة هنا ممكن الاستفادة منها في برامج الداتا بيز مثلا للتعديل علي احد البيانات
و في حالتي انا شخصيا و تحديدا ف الكلاس الذي اقوم بكتابته فهي مفيدة لي لتحديد اي تغييرات تحدث بين أول صورة اخذتها لسطح المكتب عن طريق مقارنة اي صورة جديدة بها لمعرفة هل الصورة علي سطح المكتب تتغير بسبب تحريك فورم او فتح برنامج اخر
أعتقد انه لا يوجد شئ بدائي او عدم بدائي في كتابة الكود المهم في الأمر ان الكود يخدم احتياجاتك باي طريقة ممكنة و الأهم إن الكود يتم كتابته بشكل صحيح ففي الكود الخاص بك أنت قمت بتعريف متغير يعبر عن Structure ثم اعطيت قيمة لأحد عناصره ثم قمت بتعريف متغير أخر يرمز لنفس Structure ثم قمت بمساواة الاثنان معا
عموما و علي ما اعتقد ما تم استخدامه مع Class يمكن استخدامه مع Structure ففي النهاية الاثنان اساسهم واحد و الفارق بينهما يكمن فقط في نوعية البيانات او في DataTypes لكل منهما لكن فكرة الحصول علي نسخة منهما ستظل واحدة مع الوضع ف الاعتبار نوعية البيانات طبقا لما شرحته مايكروسوفت في المثال الخاص بها خاصة اذا كانت البيانات من النوع Reference Type
كود :
Public Structure Wallet
Implements ICloneable
Public money As Integer
Public Function Clone() As Object Implements ICloneable.Clone
Return Me.CreateDeepCopy(CreateShallowCopy())
End Function
Friend Function CreateShallowCopy() As Wallet
Return CType(Me.MemberwiseClone(), Wallet)
End Function
Friend Function CreateDeepCopy(current As Wallet) As Wallet
Dim w As Wallet = CType(Nothing, Wallet)
w.money = current.money
Return w
End Function
End Structureأو يمكن كتابة الكود بشكل مباشر كالأتي:
كود :
Public Structure Wallet
Implements ICloneable
Public money As Integer
Public Function Clone() As Object Implements ICloneable.Clone
Return CType(Me.MemberwiseClone(), Wallet)
End Function
End Structureعموما انا الأمر لفت انتباهي ليس إلا لذلك اردت الكتابة عنه ربما يستفيد منه الأخرون
الأخ الفاضل أبو عمر
بما ان DynamicObject Class أساسه Object Class فنفس الاسلوب يسري عليه لكن نأثير هذا علي موارد النظام ف وحده الله اعلم
لكني لا أعتقد إن أخذ نسخة من كلاس ما سيكون له تأثير ما علي موارد نظام التشغيل
كمثال أري أن الفكرة هنا ممكن الاستفادة منها في برامج الداتا بيز مثلا للتعديل علي احد البيانات
و في حالتي انا شخصيا و تحديدا ف الكلاس الذي اقوم بكتابته فهي مفيدة لي لتحديد اي تغييرات تحدث بين أول صورة اخذتها لسطح المكتب عن طريق مقارنة اي صورة جديدة بها لمعرفة هل الصورة علي سطح المكتب تتغير بسبب تحريك فورم او فتح برنامج اخر

