في الدرس السابق قمنا بشرح كيفية عمل Load لأسيبملي
والان نريد قراءة محتوي الاسيمبلي على سبيل المثال الاسيمبلي بداخله Types وهي نوعين Normal types و Nested types جميل ؟
لنشرح اكثر
مثال على النوع المتداخل:
في هذا المثال، NestedClass هو نوع متداخل (Nested Type) ضمن OuterClass. للوصول إلى NestedClass، يجب المرور عبر OuterClass مثل:
الان لنتابع كيفية قراءة Types او NestedTypes بداخل الاسيمبلي
اولا سنقوم بإنشاء متغير يدعي Types ومتغير يدعى NestedTypes
var types
var nestedTypes
اولاً types
كما ترى هنا خاصية (Types) فقط تحصل على Normal types جميل ؟
ثانياً Nested types
كما ترى هنا خاصية (GetTypes()) تحصل على جميع ال types بداخل اسيمبلي وليس مثل خاصية Types فقط ال Types العادية
نتابع..
طيب احنا انشأنا متغييرين واحد types والتاني nestedtypes جميل الان نريد استعراضهم وقراءة ال types
بإستخدام foreach للتكرار عبر متغير types وقراءة كل type بداخله لذلك انصحك بتعلم اساسيات البرمجة اولاً..
كما تري هنا نقوم بالحصول على اسم كل type داخل متغير types
عبر المتغير العام var t بداخل types
و بإستخدام خاصية FullName ستحصل علي الإسم كاملاً
الان لنري داخل نافذة ال console النتيجة النهائية
كما ترى هنا تم الحصول على الاسم بالكامل مع namespace
مثلاً هذا ال class كما ترى يحتوي على namespace Study
namespace Study
{
internal class normaltype1
{
}
}
لكن اذا استخدمت خاصية Name ستحصل على normaltype1 فقط بدون Namespace جميل؟
لكن الان كما ترى في الصورة استعرض فقط OuterClass وكما شرحنا بالأعلي في OuterClass يوجد بداخله Class اخر وهو NestedType ولم يتم استعراضه لأننا قمنا بعمل حلقة تكرارية على متغير types
جميل الان نقوم بعمل حلقة تكرارية على متغير nestedTypes ونرى النتيجة
كما تري في الصورة قام بالحصول علي كل ال types بدون استثناء حتى nestedClass
انتهى الدرس اتمني اذا لم تفهم شئ ولو بسيط بكتابة تعليق وانا سأقوم بالتوضيح اكثر ♥
انتظروا الدرس الرابع ان شاء الله
والان نريد قراءة محتوي الاسيمبلي على سبيل المثال الاسيمبلي بداخله Types وهي نوعين Normal types و Nested types جميل ؟
لنشرح اكثر
1. الانواع العادية
هي الأنواع المعرفة بشكل منفصل ومستقل داخل الـ Assembly. يتم تعريف هذه الأنواع في الجذر الرئيسي للـ Assembly، ولا تعتمد على أي نوع آخر. يمكن أن تكون هذه الأنواع مرئية واستخدامها بشكل مباشر في أي مكان داخل الـ Assembly أو من الخارج (إذا كانت مرئية بشكل عام public). مثل:2. Nested types (الأنواع المتداخلة)
هي الأنواع التي يتم تعريفها داخل نوع آخر (مثل class أو struct). تكون هذه الأنواع في العادة جزءًا من النوع الخارجي وتعتمد عليه. يمكن الوصول إليها فقط من خلال النوع الخارجي، وقد تكون مرئية بشكل محدود بناءً على مستوى وصولها.مثال على النوع المتداخل:
في هذا المثال، NestedClass هو نوع متداخل (Nested Type) ضمن OuterClass. للوصول إلى NestedClass، يجب المرور عبر OuterClass مثل:
الان لنتابع كيفية قراءة Types او NestedTypes بداخل الاسيمبلي
اولا سنقوم بإنشاء متغير يدعي Types ومتغير يدعى NestedTypes
var types
var nestedTypes
اولاً types
كما ترى هنا خاصية (Types) فقط تحصل على Normal types جميل ؟
ثانياً Nested types
كما ترى هنا خاصية (GetTypes()) تحصل على جميع ال types بداخل اسيمبلي وليس مثل خاصية Types فقط ال Types العادية
نتابع..
طيب احنا انشأنا متغييرين واحد types والتاني nestedtypes جميل الان نريد استعراضهم وقراءة ال types
بإستخدام foreach للتكرار عبر متغير types وقراءة كل type بداخله لذلك انصحك بتعلم اساسيات البرمجة اولاً..
كما تري هنا نقوم بالحصول على اسم كل type داخل متغير types
عبر المتغير العام var t بداخل types
و بإستخدام خاصية FullName ستحصل علي الإسم كاملاً
الان لنري داخل نافذة ال console النتيجة النهائية
كما ترى هنا تم الحصول على الاسم بالكامل مع namespace
مثلاً هذا ال class كما ترى يحتوي على namespace Study
namespace Study
{
internal class normaltype1
{
}
}
لكن اذا استخدمت خاصية Name ستحصل على normaltype1 فقط بدون Namespace جميل؟
لكن الان كما ترى في الصورة استعرض فقط OuterClass وكما شرحنا بالأعلي في OuterClass يوجد بداخله Class اخر وهو NestedType ولم يتم استعراضه لأننا قمنا بعمل حلقة تكرارية على متغير types
جميل الان نقوم بعمل حلقة تكرارية على متغير nestedTypes ونرى النتيجة
كما تري في الصورة قام بالحصول علي كل ال types بدون استثناء حتى nestedClass
انتهى الدرس اتمني اذا لم تفهم شئ ولو بسيط بكتابة تعليق وانا سأقوم بالتوضيح اكثر ♥
انتظروا الدرس الرابع ان شاء الله
المرفقات
التعديل الأخير: