<br> كتب :آسف اخي اخطأت بكتابة إسم الإنترفيس المهم انه بإمكاننا توريث كلاس من إنترفيس
طيب انا استخدم مكتبة للتحكم بالكاميرا الرقمية WebCam هناك كلاس بإسم Capture يرث من إنترفيس بإسم ISambleGraberCB
عندما اقوم بتنفيذ البرنامج يضع الكومبايلر خط ازرق تحت إسم الكلاس ويظهر هذين الخطأين
1-
DirectX.Capture.Capture does not implement interface member DShowNET.ISambleGraberCB.BufferCB(double,system.intptr
,int)
2-
DirectX.Capture.Capture does not implement interface member DShowNET.ISambleGraberCB.SambleCB(double
DShowNET.IMediaSamble)
أتمنى بأن اجد حل لهذه المشكلة عندك ولكم جزيل الشكر ياأخي العزيز ويا حبذا لو تشرحلي مالذي يقصده الكومبايلر بالــ Implement
هذا خطأ معروف
السبب انه انت مااضفت الدالة BufferCB الى الكلاس المشتق
فيجب عند الاشتقاق من الانترفيس وضع جميع دوال واعضاء الانترفيس في الكلاس الجديد
لاحظ لو كتبت هذا الكود وشغلت البرنامج
PHP كود :
class Vb4arb : IDisposable
{
}
بيطلع نفس الخطأ الي عندك
السبب اني ماضفت دالة Dispose الى الكلاس
والحالة نفسها عندك
-
محرر السي شارب يضيف الاعضاء اوتماتيكيا
لعمل ذلك حرك الفأرة نحو اسم الانترفيس وبيطلع لك خط بنفسجي
ثم حرك الفأرة نحو الخط البنفسجي
بعدها سوف يتم ملأ الكلاس اوتماتيكيا بأعضاء الانترفيس
مثلا لو سويت الحركة هذي حق الانترفيسIFeatureSupport راح يطلع :
PHP كود :
class Vb4arb : IFeatureSupport
{
#region IFeatureSupport Members
public Version GetVersionPresent(object feature)
{
throw new NotImplementedException();
}
public bool IsPresent(object feature, Version minimumVersion)
{
throw new NotImplementedException();
}
public bool IsPresent(object feature)
{
throw new NotImplementedException();
}
#endregion
}
--
بالنسبة لImplement فهي تعني "إنجازات" او "وظائف"
وفي البرمجة . اي كود تنفيذي يسمى Implement
يعني اي كود داخل (دالة او خاصية) يسمى Implement مثلا
كود :
private void Form1_Load(object sender, EventArgs e)
{
[COLOR="#FF0000"] MessageBox.Show("vb4arb");
int s = 5;
var a = "abppl";
for (int i = 0; i < 10; i++)
{
s = i;
}[/COLOR]
//...
//...
}الملون بالاحمر يسمى Impelement حق الدالة Form_load

