مقارنة أنواع مجهولة و مسماة

التنسيق الذي تستخدمه للتصريح عن مثيل من النوع المجهول لما التنسيق الذي تستخدمه عندما تقوم بتعريف مثيل من النوع المسمى باستخدام مهيئ الكائن. ومع ذلك، هناك اختلافات مهمة في الناتج.

تعريفات

في المثال التالي product1 مثيل من نوع مجهول و product2 مثيل من الفئة Product. كلا التعريفان يستخدمان قائمة تهيئة في التعريفات الخاصة بهما. فقط الفرق المنطقي بين جهازي التعريفات أن لا يتم تحديد نوع من بيانات بعد New للحصول على product1. يؤدي ذلك إلى جعلها نوع مجهول.

' Variable product1 is an instance of an anonymous type.
Dim product1 = New With {.Name = "paperclips", .Price = 1.29}

متغيرproduct1 تم كتابة بشدة كـ مثيل من النوع المجهول. تعريف المحول البرمجي من نوع طبقاً للخصائص الذي تحدده في التعريف. يستخدم المحول البرمجياستدلال الـنوع المحلي لتحديد أنواع بيانات خصائص من القيم الأولية التي تقوم بتوفيرها. يحتوي النوع مجهول في هذا المثال على خصائص Name و Price، ثم الخاصة بهم أنواع حتى الإشارة كـ String و Double، على التوالي.

ملاحظة

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

في المثال التالي product2 تم كتابة بشدة كـ مثيل Product فئة. كلاName و Price يجب أن تكون الأعضاء Product يجب أن تتوافق مع القيم التي تم توفيرها في التصريح فئة وأنواع الخاصة بهم.

' Variable product2 is an instance of Product.
Dim product2 = New Product With {.Name = "paperclips", .Price = 1.29}

لمزيد من المعلومات، راجع مهيئات الكائن أنواع مسماة و مجهولة.

اختلافات

يلي قائمة يقارن الأوجه الأخرى من التعريفات اثنين:

  • يحدد نوع المحلي للاستخراج product1 مثيل من نوع مجهول وأن product2 مثيلاً لها Product فئة. لا يوجد عبارة As في كلا التعريفات على الرغم أن product2 من عبارة As اختياري.

    • لأنه لم يكن المجهول أنواع الأسماء المحددة لا يمكنك استخدام As جملة إلى إعلان product1. يجب الإشارة إلى النوع الخاص به. وهذا يحصر استخدام أنواع مجهولة إلى المتغيرات المحلية.

    • لأن product2 مثيل من نوع مسمى Product، إمكانية تعريف بدون استخدام استنتاج النوع باستخدام As جملة.

      Dim product2a As New Product With {.Name = "paperclips", .Price = 1.29}
      
  • إذا تم تعريف مُنشئ مناسبة في Product, product2 يمكن تعريف وإعادة تهيئة بدون استخدام مُهيئ كائن.

    Dim product2b As New Product("paperclips", 1.29)
    

    بدلاً من ذلك، التالية سلسلة من عبارات له نفس التأثير.

    Dim product2c As New Product
    product2c.Name = "paperclips"
    product2c.Price = 1.29
    

    لا يوجد التعريفات مشابهة ممكنة product1 لأن به خصائص تسمية ويكون تعريف في القائمة مُهيئ نفسها.

  • لأن product1, product2، ومن الكل بشدة تتم كتابتها خصائصها, يمكنك استخدام خاصية التحسس الذكي إلى التنقل خلال تعليمات برمجية التي تستخدم إما أن كائن.

    ملاحظة تنبيهتنبيه

    إنّ اسمَ النوعِ المجهولِ يتم إنشاؤها بواسطة برنامج التحويل البرمجي ويمكن أن تتباين من تحويل برمجي الى أخر. تعليماتك البرمجية يَجِبُ أَنْ لا يَستعملَ أَو يَعتمدَ على اسمِ نوعِ مجهولِ لأن الاسمَ قَدْ يَتغيّرُ عند القيام بتحويل برمجي مُعَاد لمشروع.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تعريف مثيل من النوع المجهول

كيفية القيام بما يلي: أسماء الخصائص الاستدلال و الأنواع في تعريفات نوع مجهول

المرجع

المفتاح (Visual Basic)

المبادئ

أنواع مجهولة

استدلال الـنوع المحلي