(( الدكتور يبغى interface جبنا له interface))
أولا سويت طلب الدكتور وإلي الآن أعتقد إن هذا هو المطلوب
إللي هو "client call the component via interface"
ولقيت هذا الكود مكتوب بالتفصيل الممل في نفس مذكرة
cs652
advanced software engineering
صفحة 334 - 335 -336
التي تم تصوريها
والفكرة سهلة بس كانت المشكلة كيفية الوصول لهذه الفكرة
وراح تشوفوا بنفسكم
----------------------------------------------------
(( ثانيا : إنشاء الكلاس و الإنترفيس ))
1- file -> new -> project ->class library
2- نكتب الكود التالي
using system;
using system.collections.generic;
using system.;
using system.windows.forms; هذا السطر لازم يضاف عشان تقدر تتعامل مع النوافذ
وطريقة إضافته كالتالي
project -> add reference -> .net -> using system.windows.forms
namespace c1c
{
public interface ic جزئية تعريف الإنترفيس
{
void checkaccount(); هذه الدالة هي نفسها كلاس الكمبونت
}
public class cc : Ic جزئية تعريف الكمبونت
{
public int b = 200; متغير
public void checkaccount() نفس الدالة التي سوف تستدعى عن طريق الإنتر فيس
{
messagebox.show("رصيدك هو : " + b, "إستعلام عن الرصيد");
}
}
}
3- بناء dll file
build -> build solution
4- معرفة مكان الملف
في نفس المجلد الذي حدده للبروجيت في المسار التالي
*\bin\debug\*.dll
----------------------------------------------------
(( ثالثا : إنشاء الكلاينت ))
1- file -> new -> project ->windows application
2- نضيف ملف dll file بالطريقة التالية:
project -> add reference -> browse-> ونحدد مكانه
3- نضيف زر أمر و دبل كليك عليه ونضيف الكود التالي :
using system.drawing;
using system.;
using system.windows.forms;
using c1c; لا ننسى نضيف إسم نيم سبيس حق الـملف
namespace windowsapplication1
{
public partial class form1 : Form
{
public form1()
{
initializecomponent();
}
private void button1_click(object sender, eventargs e)
{
ic check; استخدام الإنترفيس لتعريف أوبجكت
check = new cc() as ic; نعرف نوع الأوبجكت من أي كلاس
check.checkaccount(); نستدعي الدالة
}
}
}
----------------------------------------------------
وتشغيل وإن شاء الله هو المطلوب
والكود ضمن المرفقات
والله يوفق الجميع