نمایش نتایج 1 تا 9 از 9

نام تاپیک: آشنایی با generic

  1. #1

    آشنایی با generic

    سلام
    توی این سایت مباخثی بنام generic وجود داشت که اغلب با C#‎.net بود
    آیا امکانش هست که تو اینجا در موردش بحث و بررسی بشه تا اصلا بفهمیم چی هست تا ازش تو برنامه نویسی استفاده کنیم
    با تشکر مرزبان

  2. #2
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    راستش Generic خیلی بزرگتر از اونه که بشه تو همین جا کامل بررسیش کرد. من سعی می‏کنم تا حد امکان توضیحش بدم.

  3. #3
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    همونطور که میشه مقادیر متغیرها را به متدها، کلاسها، ... پاس داد، در حالت ساده می‏شه نوع متغیر رو هم پاس داد. و مسلما اسلوب خاص خودشو داره. به مثال زیر توجه کنید:
    class A<T>
    {
    public T a;
    }

    class B
    {
    public void Test()
    {
    A<int> f1 = new A<int>();
    f1.a = 5; // << OK
    f1.a = "A"; // << Error

    A<string> f2 = new A<string>();
    f2.a = 5; // << Error
    f2.a = "A"; // << Ok

    A<string> f3 = new A<int>(); // << Error
    }
    }

  4. #4
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    خوب این تا اینجا بد نیست. ولی با همین اطلاعات محدود میشه با اولین معجزه generic در collectioها آشنا شد.
    ببینید:
     

    class A
    {
    public Test()
    {
    Collection<int> f1 = new Collection<int>();
    f1.Add(5); // << OK
    f1.Add("A") // << Error

    Collection<string> f2 = new Collection<string>();
    f2.Add(5); // << Error
    f2.Add("A") // << OK
    }
    }


  5. #5
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    Generic Type ها باعث حذف boxing و unboxing های ناخواسته میشوند و همانطور که میدانید عملیات boxing و unboxing زمانبر است.

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    تبريز
    پست
    89
    boxing And Unboxing چیه ؟ میشه توضیح بدین؟

  7. #7
    نقل قول نوشته شده توسط am_abbas65 مشاهده تاپیک
    boxing And Unboxing چیه ؟ میشه توضیح بدین؟
    به زبان ساده تبدیل یک کلاس یا یک نوع داده به Object و برعکس!


  8. #8
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    ما می‏تونیم تو سطح کلاس یا متد، یک نوع داده Generic داشته‏باشیم.

    class A<T1>
    {
    private T1 t1;
    public T1 method<T2>(T2 t2)
    {
    ...
    }
    }

  9. #9
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    همینطور می‏تونیم به دو صورت برای نوع دادة Generic، محدودیت قائل بشیم.
    1- وراثت:
    interface ITest1{}
    class Test2{}
    class Test3<T1>
    where T1:ITest1, Test2{}

    2- parameterless constructor:
    class Test<T1>
    where T1:new(){}

    در این صورت (فقط در این صورت) می‏تونیم از روی DataTypeمون یک instance بسازیم:
    class Test<T1>
    where T1:new(){
    public void method()
    {
    T1 t1 = new T1();
    }
    }

تاپیک های مشابه

  1. چاپ با چاپگرهای تحویلداری بانک (generic)
    نوشته شده توسط bashir_nashi در بخش VB.NET
    پاسخ: 18
    آخرین پست: سه شنبه 21 خرداد 1387, 16:32 عصر
  2. کلاس Generic
    نوشته شده توسط amin_679 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 19 خرداد 1386, 15:53 عصر
  3. درباره ی generic
    نوشته شده توسط WindowsXp در بخش VB.NET
    پاسخ: 3
    آخرین پست: چهارشنبه 15 فروردین 1386, 12:08 عصر
  4. Generic Type
    نوشته شده توسط roxen13 در بخش برنامه‌نویسی جاوا
    پاسخ: 2
    آخرین پست: چهارشنبه 08 آذر 1385, 23:11 عصر
  5. Generic Types چیست؟
    نوشته شده توسط محمد عرب در بخش VB.NET
    پاسخ: 5
    آخرین پست: پنج شنبه 17 فروردین 1385, 15:18 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •