PDA

View Full Version : سوال: چطور از APIها استفاده کنم؟



ak_lbrrn
دوشنبه 12 مرداد 1394, 11:04 صبح
به نام خدا
سلام
من به خاطر انجام یک پروژه کلاسی تازه شروع کردم به یادگیری C# ولی سرعت آموزش خیلی کمه و من باید پروژه ام رو خیلی زود تحویل بدم.
من نیاز دارم که از APIهای یک برنامه خاص (Wordnet) استفاده کنم توی برنامه ام. میشه یه نفر مراحل اصلی رو که باید انجام بدم بگه! هر چی search می کنم فقط درباره APIهای Windows مطلب پیدا می کنم. تک و توک چیزهایی هم که درباره APIهای برنامه های دیگه است خیلی حرفه ای فقط گام های آخر رو توضیح داده!

کاری که تا به حال کردم اینه که توی پروژه ام، reference جدیدی که اسمش هست LAIR.ResourceAPIs.WordNet رو اضافه کردم. وقتی روش دابل کلیک می کنم، می تونم در پنجره Object Browser با Collapse کردن لیستی از classهای public و enum (که نمی دونم چیه) ببینم.

طبق چیزیایی که با Search و این در و اون در زدن فهمیدم، حالا باید یک شیء از کلاس مورد نظرم توی برنامه ایجاد کنم. اما با این کار، با error مواجه میشم که میگه:
Error 1 The type 'LAIR.ResourceAPIs.WordNet.SynSet' has no constructors defined

راستی using LAIR.ResourceAPIs.WordNet رو هم به برنامه اضافه کردم.
میشه بگید چطور برطرفش کنم؟ Constructor رو باید کجا ایجاد کنم و چطوری؟
اگه توی مراحل اصلی کار جایی رو اشتبه کردم میشه بگید؟

خیلی عجله دارم، ممنون میشم زود جواب بدید!

ایام به کام

مهرداد صفا
دوشنبه 12 مرداد 1394, 13:40 عصر
با سلام.
به مسائل مختلفی بستگی داره.
باید دید ساختار طراحی کلاس ها چطور و طبق چه الگویی بوده.
لزوما همه کلاس ها با constructor نمونه سازی نمیشن، بلکه ممکنه توسط یک متود یا خصوصیت از یک کلاس دیگه بتونید به یک کلاس دسترسی داشته باشید.

ak_lbrrn
دوشنبه 12 مرداد 1394, 14:48 عصر
با سلام.
به مسائل مختلفی بستگی داره.
باید دید ساختار طراحی کلاس ها چطور و طبق چه الگویی بوده.
لزوما همه کلاس ها با constructor نمونه سازی نمیشن، بلکه ممکنه توسط یک متود یا خصوصیت از یک کلاس دیگه بتونید به یک کلاس دسترسی داشته باشید.

سلام
ممنون که جواب دادید!
راستش من خیلی مبتدی هستم. میشه یه کم بیشتر توضیح بدید. این یعنی چی؟
میتونم از این ارور بگذرم و نوشتن کد رو ادامه بدم؟ امیدی هست در سطرهای بعد ارور از بین بره؟

مهرداد صفا
دوشنبه 12 مرداد 1394, 20:45 عصر
سلام
ممنون که جواب دادید!
راستش من خیلی مبتدی هستم. میشه یه کم بیشتر توضیح بدید. این یعنی چی؟
میتونم از این ارور بگذرم و نوشتن کد رو ادامه بدم؟ امیدی هست در سطرهای بعد ارور از بین بره؟

پیشنهاد می کنم کمی عمیقتر و از پایه شروع به کار کنید و دنبال مُسکن نباشید.
این خطا یعنی این کلاس هیچ سازنده قابل دسترس از طرف شما نداره. یعنی نمیتونید با new ازش نمونه گیری کنید.
مثل کلاس System.Drawing.Graphics که مستقیما با new نمونه سازی نمیشه ولی مثلا هر Control یک متود CreateGraphics داره که یک نمونه از این کلاس رو برمیگردونه.
خیر با فرمانهای بعدی مشکل حل نمیشه.
شما باید از مستندات کتابخانه و یا XML documentation راهنمایی بگیرید.
در غیر این صورت
تنها کمکی که فعلا به ذهنم می رسه: داخل Object browser نام کلاس رو سرچ کنید و ببینید که کلاس مادر یا factory برای رسیدن به این کلاس کدومه. باید بیشتر به ساختار و الگوی کلاس ها دقت کنید و در ضمن باید بدونید این کتابخونه دقیقا برای چه هدفی نوشته شده و نقش هر کلاس چیه.