PDA

View Full Version : سوال: وراثت



ACorvinus
پنج شنبه 24 تیر 1389, 16:34 عصر
سلام بچه ها.

من در Solution خودم 3 تا پروژه دارم که یکیش VB و دوتاش #C هستن.

پروژه ای که کارامو روش انجام میدم یکی از پروژه های #C هستش. (اسمشو میذاریم 1)
حالا مشکلم اینه، یکی از فرم های موجود رو پروژه #C (پروژه 2)، داره از یکی از فرم های VB ارث بری می کنه. تا اینجا مشکلی نیست.

حالا وقتی من دارم از یکی از فرم های پروژه 2 که خودش از پروژه VB ارث بری کرده، ارث بری می کنم (در پروژه 1 که اون بالا اسمشو گذاشتیم)، کنترل های موجود بر روی فرمی که از فرم های پروژه 2 هستش نشون داده نمیشه.

دلیلش چیه؟!!!!

اَرژنگ
پنج شنبه 24 تیر 1389, 16:58 عصر
سلام بچه ها.

من در Solution خودم 3 تا پروژه دارم که یکیش VB و دوتاش C#‎ هستن.

پروژه ای که کارامو روش انجام میدم یکی از پروژه های C#‎ هستش. (اسمشو میذاریم 1)
حالا مشکلم اینه، یکی از فرم های موجود رو پروژه C#‎ (پروژه 2)، داره از یکی از فرم های VB ارث بری می کنه. تا اینجا مشکلی نیست.

حالا وقتی من دارم از یکی از فرم های پروژه 2 که خودش از پروژه VB ارث بری کرده، ارث بری می کنم (در پروژه 1 که اون بالا اسمشو گذاشتیم)، کنترل های موجود بر روی فرمی که از فرم های پروژه 2 هستش نشون داده نمیشه.

دلیلش چیه؟!!!!

هر ۳ تا پروژه را فقط با فرمهایی که مربوط بفرتید.
مشکل اصلی استفاده از پیچیدگی بیجهت به این شکل است، دلیلی برای وراثت ۲ مرحله‌ای دارید؟

ACorvinus
پنج شنبه 24 تیر 1389, 22:17 عصر
هر ۳ تا پروژه را فقط با فرمهایی که مربوط بفرتید.
مشکل اصلی استفاده از پیچیدگی بیجهت به این شکل است، دلیلی برای وراثت ۲ مرحله‌ای دارید؟

سلام.

من از جوابی که دادین چیزی نفهمیدم!!!
دلیلش اینه که پروژه VB کلی کد داره و نمیخوام اونارو بیارم به #C.
میتونین کمکم کنید؟

FastCode
پنج شنبه 24 تیر 1389, 23:31 عصر
سلام.

من از جوابی که دادین چیزی نفهمیدم!!!
دلیلش اینه که پروژه VB کلی کد داره و نمیخوام اونارو بیارم به C#‎.
میتونین کمکم کنید؟
برای این که از این همه پیچیدگی راحت بشید بهتره که با یه converter یا مثلا" reflector خودمون, برنامه VB رو به C# تبدیل کنید و هر سه پروژه رو در هم ادقام کنید.

اَرژنگ
جمعه 25 تیر 1389, 03:31 صبح
سلام.

من از جوابی که دادین چیزی نفهمیدم!!!
دلیلش اینه که پروژه VB کلی کد داره و نمیخوام اونارو بیارم به C#‎.
میتونین کمکم کنید؟
بدونه کد که نمیشه!
همانطوری که گفتم بدانه دلیل پیچیده‌اش کردید. اینکه یکچیزی کلی کد دارد دلیل نمیشه که ازش ارث بری کرد. من تا به حال به چنین حالتی که فایده داشته باشد برنخوردم، اگر کد را نفرستید نمیشه کمک کنیم.

ACorvinus
جمعه 25 تیر 1389, 09:38 صبح
سلام.

شما فرض کنین من مجوز اینو ندارم که به اون یکی پروژه ها دست بزنم و واقعا هم اینجوریه.
حالا میشه یه راه حل بهم بگین و به Convert کردن فکر نکنین.

در ضمن دوست عزیز این مفهومی نداره که کد بدم به شما تا به نتیجه برسم!!!!

اَرژنگ
جمعه 25 تیر 1389, 10:11 صبح
سلام.

شما فرض کنین من مجوز اینو ندارم که به اون یکی پروژه ها دست بزنم و واقعا هم اینجوریه.
حالا میشه یه راه حل بهم بگین و به Convert کردن فکر نکنین.

در ضمن دوست عزیز این مفهومی نداره که کد بدم به شما تا به نتیجه برسم!!!!

با سلام،
لازم نیست کد همان پروژه را بدید، فقط یک مثال ساده که مشکل را نشان بده بفرستید.
۳ تا پرثژه جدید درست کنید، هر کدام با یک فرم به همان حالتی در اون پروژه‌هایه اصلی دارید.
بدانه بازساسی مشکل ما رویه چی کار کنیم کمک کنیم؟

در ضمن این شما نیستید که به من کد میدید که به نتیجه برسید، بدانه دیدن کد با علم و غیب کمک کنیم؟

اَرژنگ
جمعه 25 تیر 1389, 11:35 صبح
شما فرض کنین من مجوز اینو ندارم که به اون یکی پروژه ها دست بزنم و واقعا هم اینجوریه.


چرا؟ دلیلی منطقی برایه اینکه کار را به این شکل سخت کردن وجود دارد؟
اگر بیشتر در مورد شرائط توزیح بدید میتونیم کمک کنیم، این فرم که ازش ارث بری میکنید کد کارآمدی هم دارد؟ چونکه معمولاً کدی که رویه فرمها مینویسند از کمبود استفاده از روشهایه درست ایجاد شده و نداشتنش بهتره.




حالا میشه یه راه حل بهم بگین و به Convert کردن فکر نکنین.

راه حل اینه که یا کامل چرا با چنین شرایط عجیبی را باید کار کنید را توضیح بدید که ما مشکل واقعی را درک کنیم و مشکل واقعی را حل کنیم.
این نوع روش کار، سواستفاده از فواید ارث بری است، اینکه چطوری و بنا بر چه دلیلی با ارث بری میخواهید چه مشکلی را حل کنید معلوم نیست.
اگر پروژه درست و حسابی بود کدهایی که واقعا اهمیت داشتن را در یک لایه دیگر میزاشتند و از اون کتابخانه استفاده میکردند.
اضافه کردن پیچیدگی بیجهت به پروژه به این شکل استفاده از ارث بری مفهومی ندارد.

اَرژنگ
شنبه 26 تیر 1389, 14:32 عصر
پس چی شد؟ چرا نمیگین چرا باید با این شرائط مشقتبار کار کنید که یکجوری کمکتان کنیم.
اگر هم که مشکل را حل کردین اینجا بزارین ماهم خیر ببریم.

ACorvinus
شنبه 26 تیر 1389, 19:04 عصر
پس چی شد؟ چرا نمیگین چرا باید با این شرائط مشقتبار کار کنید که یکجوری کمکتان کنیم.
اگر هم که مشکل را حل کردین اینجا بزارین ماهم خیر ببریم.

سلام.

مشکلم حل شد. دلیلش این بود که تیم قبلی InitializeComponent رو به صورت paritial در قسمت ViewCode نوشته بودن. من درستش کردم و مشکل حل شد.