PDA

View Full Version : TypeForwardedTo Attribute



manager
پنج شنبه 09 شهریور 1385, 14:33 عصر
سلام

اگر امکان داره در مورد خاصیتی به نام TypeForwardedTo یه کم توضیح بدین که من هنگام کار با هاش گیج شدم ... پیشاپیش ممنونم..

omid_Ahmadi
پنج شنبه 09 شهریور 1385, 16:01 عصر
در مورد کاربرد اون توضیح بدم یا در مورد نحوه ی استفاده؟
این اتربیوت برای انتقال یه تایپ به یه نیم اسپیس دیگه به کار میره به گونه ای که برنامه هایی که نیم اسپیس اول رو مورد ارجاع قرار دادن مشکلی پیدا نکنن.

Amir Oveisi
پنج شنبه 09 شهریور 1385, 18:29 عصر
میشه بیشتر توضیح بدین؟

omid_Ahmadi
پنج شنبه 09 شهریور 1385, 19:15 عصر
معمولا اتربیوتها زیاد پیچیدگی خاصی ندارن که نیاز به توضیح داشته باشه. فقط جایی که مورد استفاده قرار می گیرن مهمه و نحوه ی استفاده (که در اغلب هم نحوه استفاده یکسانه).
حالا اگر سوال خاصی دارید بپرسید.

Amir Oveisi
شنبه 11 شهریور 1385, 15:42 عصر
این اتربیوت برای انتقال یه تایپ به یه نیم اسپیس دیگه به کار میره به گونه ای که برنامه هایی که نیم اسپیس اول رو مورد ارجاع قرار دادن مشکلی پیدا نکنن.
اینو لطفا توضیح

omid_Ahmadi
شنبه 11 شهریور 1385, 19:01 عصر
به نظرم این مورد کاملا واضحه، شما یه تایپ رو توی یه نیم اسپیس ایجاد کرده و بعد از مدتی (که از اون تایپ توی چند برنامه هم استفاده کردید) می خواهید اون رو منتقل کنید به یه نیم اسپیس دیگه. حالا دو راه دارید. یا همه ی برنامه هایی که از این تایپ استفاده کردن رو ادیت و ریکامپایل کنید یا از این اتربیوت استفاده کنید.

موفق باشید

manager
شنبه 11 شهریور 1385, 22:09 عصر
از توضیحاتتون ممنونم ، من خودم این مطالب رو میدونستم.. به سناریو زیر یه نگاه بندازین سوالم رو متوجه می شوید..

من دو اسمبلی به نام های A و B دارم. اسمبلی A قدیمی تر از B هست و حال کامپایل مجدد اون رو ندارم (به هر دلیل منطقی)! در داخل اسمبلی B که جدیدا ایجاد شده من یه تایپ جدید ایجاد کردم و حالا می خوام اون رو به اسمبلی A انتقال بدم !!!!

در حالی که کسی اونجا از این تایپ جدید خبر نداره چه طور می تونه ازش استفاده کنه ؟
اگر تایپی با همون نام وجود داشته باشه Conflict پیش می یاد ؟
آیا فقط به درد برنامه های COM+ می خوره یا نه ؟خوب من یه تصویر دیگه نیز تو ذهنم دارم، توضیح می دم اگر درست فکر می کنم، مشکل حله !

ما یکسری اسمبلی داریم و به اونها رفرنس هائی نیز داریم، یک تایپ جدید ایجاد می کنیم و با استفاده از این attribute به اونها فوروارد می کنیم. اونها در هنگام اجرا چک می کنند ببینن آیا تایپ مورد نظرشان که همیشه منتظر جدیدترینش هستند وجود دارد یا نه ! اگر وجود دارد ازش استفاده می کنن (اسمبلی های کلاینت از این طریق به روز می شوند) و اگز وجود ندارد از پیش فرض استفاده کن !!!

اگر اشتباه فکر می کنم، لطفا اول سوالات بالا رو جواب بدین بعد سناریو صحیح رو بنویسید ..

پیشاپیش ممنونم ...

omid_Ahmadi
یک شنبه 12 شهریور 1385, 07:48 صبح
شما میگید که نمی خواهید اسمبلی A رو کامپایل کنید و در عین حال می خواهید که یه تایپ هم بهش اضافه کنید، خوب به این صورت که نمیشه.



ما یکسری اسمبلی داریم و به اونها رفرنس هائی نیز داریم، یک تایپ جدید ایجاد می کنیم و با استفاده از این attribute به اونها فوروارد می کنیم. اونها در هنگام اجرا چک می کنند ببینن آیا تایپ مورد نظرشان که همیشه منتظر جدیدترینش هستند وجود دارد یا نه ! اگر وجود دارد ازش استفاده می کنن (اسمبلی های کلاینت از این طریق به روز می شوند) و اگز وجود ندارد از پیش فرض استفاده کن !!!


این قسمت زیاد واضح نیست اما این طور که من متوجه شدم می خواهید که برنامه هاتون بتونن هر بار که اجرا میشن به آخرین نسخه از تایپهای ایجاد شده دسترسی پیدا کنن درسته؟ اگر این طوره که روشهای دیگه ای در .NET برای پیاده سازی این مورد وجود داره مثل استفاده از Publisher Policyها. اگر هم مورد دیگه ای مد نظره، بهتره واضحتر توضیح بدید که چه کاری می خواهید انجام بدید.

manager
یک شنبه 12 شهریور 1385, 11:57 صبح
خوب من سوالم در حیطه ی استفاده از خاصیت TypeForwardedTo بود و می خواستم بدونم با توجه به فرمایشات جنابعالی این خاصیت به چه دردی می خوره !!!
من فقط سناریو ای که از این خاصیت در ذهنم داشتم نوشتم و کاری نمی خوام انجام بدم !! می خوام بدونم این خاصیت به چه دردی می خوره و کجا کاربرد داره !!
اگر یه سناریو برام بنویسید ممنون می شم ...

omid_Ahmadi
یک شنبه 12 شهریور 1385, 12:55 عصر
خوب، توی پست شماره 6 یه نیمه سناریو نوشتم،
فرض کنید یه تایپ توی نیم اسپیس A تعریف کرده و توی چند تا برنامه نیم اسپیس A رو اضافه کرده و از اون تایپ استفاده کردید. برنامه های مذکور هم در حال حاضر در حال کار کردن هستند. بعد از مدتی تصمیم میگیرید که تایپ رو به نیم اسپیس B منتقل کنید. در این حالت دو راه دارید. یا همه ی برنامه هایی که از این تایپ استفاده کردن رو ادیت و ریکامپایل کنید یا از این اتربیوت استفاده کنید و در نیم اسپیس A بنویسید که برنامه هایی که درخواست استفاده از این تایپ رو دارن رو به نیم اسپیس B ارجاع بده.
این اتربویت زیاد استفاده نداره، خیلی کم کاربرده.