كيفية العمل مع الكائنات المجهولة في لغة C#

Kyfyt Al Ml M Alkaynat Almjhwlt Fy Lght C



البرمجة الشيئية هي لبنة أساسية في لغة البرمجة C#. وكما يمكنك أن تتخيل، فإن الكائنات هي في الواقع كتلة حاسمة في OOP. ومع ذلك، من أجل إنشاء كائنات، يمكنك أولاً تحديد فئة تحدد بنية الكائن والخصائص والأساليب التي يمكن أن يمتلكها.

على الرغم من أن هذه ميزة قوية عندما تحتاج إلى التعامل مع OOP، إلا أنها قد تكون مرهقة عندما تحتاج إلى إنشاء كائن أساسي بسرعة لن يتم استخدامه في أي أقسام أخرى.







هذا هو المكان الذي تلعب فيه الأشياء المجهولة. توفر الكائنات المجهولة طريقة سريعة وموجزة للغاية لإنشاء الكائنات دون الحاجة إلى تحديد فئة فعليًا.



إحدى حالات الاستخدام الرئيسية للكائن المجهول هي عند التعامل مع الكائنات المؤقتة التي يمكنها تخزين البيانات لفترة قصيرة جدًا. كما أنها تساعد على إزالة الحمل المرتبط بإنشاء فئات مثل استعلامات LINQ.



لذلك، في هذا البرنامج التعليمي، سنوجهك عبر كل ما تحتاج إلى معرفته حول إنشاء الكائنات المجهولة والعمل معها في النظام البيئي C#.





إنشاء كائن مجهول في C#

لنبدأ بمناقشة كيفية إنشاء كائنات مجهولة في لغة C#. لحسن الحظ، هذه تقنية بسيطة تستخدم الكلمة الأساسية 'جديدة' متبوعة بمُهيئ الكائن. مُهيئ الكائن هو زوج من الأقواس المتعرجة التي تحتوي على خصائص الكائن.

يمكننا التعبير عن الكائن السابق في بناء جملة أساسي على النحو التالي:



varonymous_obj=new { Prop1 = var1، Prop2 = var2 } ;


هنا، يشير 'prop' إلى الخاصية ويمثل 'var' القيمة المرتبطة بتلك الخاصية.

مثال للاستخدام:

خذ بعين الاعتبار رمز المثال التالي الذي يقوم بإنشاء كائن 'سيارة' أساسي باستخدام التقنية المجهولة:

باستخدام النظام؛

برنامج الصف
{
الفراغ الساكن الرئيسي ( )
{
فار سيارة = جديد { الموديل = 'بنز' ، السنة = 2023 عدد الكيلومترات = 2000 } ;
Console.WriteLine ( طراز السيارة ) ;

}
}


في هذا المثال، قمنا بإنشاء كائن مجهول يسمى 'سيارة' بثلاث خصائص رئيسية: الطراز، والسنة، والمسافة المقطوعة. نقوم بعد ذلك بطباعة خاصية 'النموذج' على وحدة التحكم.

كما قد تلاحظ، لم نحدد أي فئة 'سيارة' بخصائص محددة. قمنا بإنشاء مثيل للكائنات مباشرةً بالخصائص التي نحتاجها.

خصائص للقراءة فقط

ومن الجيد أن نأخذ في الاعتبار أن كافة خصائص الكائنات المجهولة للقراءة فقط. هذا يعني أنه لا يمكننا تغيير قيمة خاصية كائن مجهول.

خذ المثال التالي:

باستخدام النظام؛

برنامج الصف
{
الفراغ الساكن الرئيسي ( )
{
فار سيارة = جديد { الموديل = 'بنز' ، السنة = 2023 عدد الكيلومترات = 2000 } ;
Console.WriteLine ( طراز السيارة ) ;

نموذج السيارة = 'هوندا' ;
}
}


في هذه الحالة، إذا حاولنا تشغيل الكود السابق، فإنه يُرجع خطأ كما يلي:

خاصية أو مفهرس '<نوع مجهول: نموذج السلسلة، سنة int، عدد الأميال int>.Model' لا يمكن أن يتم تعيينها ل -- إنها يقرأ فقط.

استخدام كائنات مجهولة كقيم إرجاع

يمكننا أيضًا استخدام الكائنات المجهولة كأنواع إرجاع ومعلمات لطرق C# باستخدام النوع الديناميكي.

مثال على النحو التالي:

باستخدام النظام؛
برنامج الصف
{
الفراغ الساكن الرئيسي ( خيط [ ] الحجج )
{
فار السيارة = GetCar ( ) ;
Console.WriteLine ( $ 'الموديل: {car.Model}، السنة: {car.Year}، المسافة المقطوعة: {car.Mileage}' ) ;
}
GetCar الديناميكي الثابت العام ( )
{
يعود جديد { الموديل = 'بنز' ، السنة = 2023 عدد الكيلومترات = 2000 } ;
}
}


في المثال الموضح، قمنا بتعريف طريقة GetCar() التي تقوم بإرجاع كائن مجهول للسيارة مع خصائص الطراز والسنة والمسافة المقطوعة.

ملاحظة: نحن نستخدم النوع الديناميكي للاحتفاظ بالكائن المجهول.

الناتج الناتج هو كما يلي:

الموديل: بنز، السنة: 2023 ، عدد الأميال: 2000


ملاحظة: على الرغم من إمكانية السماح للطرق بالعودة مجهولة المصدر، إلا أنها تأتي مع فقدان أمان النوع. من الجيد أن تفكر في الآثار المترتبة وحالات الاستخدام المحتملة للتعليمات البرمجية الخاصة بك قبل تنفيذ هذه التقنية.

خاتمة

في هذا البرنامج التعليمي، ناقشنا جميع حالات الاستخدام الأكثر فائدة للكائنات المجهولة في لغة C#. كما هو موضح في هذا المنشور، تعلمت كيف يمكنك الاستفادة من الكائنات المجهولة لإنشاء كائنات بدون فئات.