نوع مجهول

تُعدّ الأنواع المجهولة ميزةً في لغات C# 3.0 و Visual Basic .NET 9.0 و Oxygene و Scala و Go ، تُمكّن أنواع البيانات من تغليف مجموعة من الخصائص في كائن واحد دون الحاجة إلى تعريف نوع صريح مسبقًا. [ 1 ] تُعدّ هذه ميزةً مهمةً لميزة LINQ الشبيهة بلغة SQL والمدمجة في C# وVB.NET. ولأنّ الأنواع المجهولة لا تمتلك نوعًا مُسمى، يجب تخزينها في متغيرات مُعلنة باستخدام الكلمة المفتاحية `undefined`، ما يُخبر مُصرّف C# باستخدام استنتاج النوع للمتغير. تكون الخصائص المُنشأة للقراءة فقط في C#، بينما تكون قابلةً للقراءة والكتابة في VB.NET.var

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

أمثلة

سي شارب

var person = new { firstName = "John" , lastName = "Smith" }; Console . WriteLine ( person . lastName );

الناتج:سميث

يذهب

var person struct { firstName string ; lastName string } person . firstName = "John" person . lastName = "Smith"

أوكاميل

let person = object val firstName = "John" val lastName = "Smith" end ;;

الأكسجين

var person := new class ( firstName := 'John' , lastName := 'Smith' );

PHP

$person = new class { public $firstName = "John" ; public $lastName = "Smith" ; };

سكالا

val person = new { val firstName = "John" ; val lastName = "Smith" }

فيجوال بيسك دوت نت

Dim person = New With { .firstName = "John" , .lastName = " Smith" }

انظر أيضاً

مراجع

  1. "الأنواع المجهولة (دليل برمجة C#)" . مايكروسوفت. مؤرشف من الأصل في 7 ديسمبر 2008. تم الاسترجاع في 25 نوفمبر 2008 .