تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال حول المعامل Ctype
#1
Exclamation 
السلام عليكم

لدي مثلا الفئة Virement أصلية  
أشتق منها فئة VirementBank وأضيف لها خصائص جديدة

ثم أقوم بهذه العملية

Dim v1 as new Virement
Dim v2 as new VirementBank = Ctype(v1,VirementBank )

عند التنفيذ ينطلق هذا الخطأ
Impossible d'effectuer un cast d'un objet de type 'VIREMENT' en type VirementBank

هل من طريقة أخرى لعمل التحويل  وشكرا
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم


أولا غير صحيح أن تنشأ كانت جديد ب New وفي نفس الوقت تريد تحويله في سطرك الذي يبدو انك لم تنسخه كما هو من الكود الموجود لديك
كود :
Dim v2 as new VirementBank = Ctype(v1,VirementBank)

يجب أن تكون الفئة Virement موروثة من VirementBank بواسطة Inherits وهذا ما تنفيه الرسالة، إلا إذا كان المقصود بالاشتقاق غير Inherits

سيعمل الكود لو كان مثل
كود :
Dim v1 As New Virement

Dim v2 As VirementBank = CType(v1, VirementBank)

Dim v3 As New VirementBank
v3 = CType(v1, VirementBank)

كود :
Class Virement
    Inherits VirementBank

End Class

كود :
Class VirementBank

End Class
الرد }}}
تم الشكر بواسطة: ndjakoub
#3
المشكلة ليست في الوراثة أنت هنا تحاول الحصول علي نوع من نوع اخر
أو بمعني أدق أنت هنا تحاول ان تقوم بعمل Casting و تحويل فئة الي فئة أخري  
و بالرغم ان احد الكلاسان مشتق من الأخر أي أنهم فعليا ينتميان الي نفس الأصل لكنك لن تحصل علي نتيجة دقيقة إلا إن كتبت دوال Ctype علي هيئة دوال من النوع Shared   و هذا يجب أن يتم إما في الكلاس الأصلي او الكلاس الأخر
أنصجك أن باستخدام Interface و تقوم بعمل Implementation له في كل من الكلاسان و هذا سوف ييسر لك الحصول علي نوع من الأخر
الرد }}}
تم الشكر بواسطة: ndjakoub


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن الاسمبلي و النيم سبيس justforit 0 102 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 269 02-11-25, 11:19 PM
آخر رد: justforit
  [نقاش] سؤال MetoDas 2 1,488 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 507 20-04-25, 09:26 PM
آخر رد: Kamil
  سؤال لو سمحتم احبتى فى الله خالد كامل1 4 803 09-02-25, 12:02 AM
آخر رد: princelovelorn
  سؤال واستفسار خالد كامل1 1 402 04-02-25, 09:31 PM
آخر رد: aliday03
  سؤال فى تقرير كريستال خالد كامل1 0 393 04-02-25, 05:50 AM
آخر رد: خالد كامل1
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 447 01-02-25, 03:48 PM
آخر رد: Microformt
  [سؤال] سؤال في الكونسول justforit 1 366 21-12-24, 02:57 PM
آخر رد: aljzazy
  سؤال عن طريقة التعامل مع الفاصلة العشرية المتألق9 2 520 28-09-24, 04:45 PM
آخر رد: المتألق9

التنقل السريع :


يقوم بقرائة الموضوع: