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

نام تاپیک: استفاده از TextBox به عنوان پارامتر در Generic

  1. #1

    Question استفاده از TextBox به عنوان پارامتر در Generic

    درون کلاس، لازمه پراپرتی Text از کنترلهای Label یا TextBox رو Set کنم.

    میخوام به جای OverLoad کردن و نوشتن دو تابع با نامهای یکسان ، از Generic استفاده کنم


    public class stuff
    {
    public static void SetText<T>(T t)
    {
    if (t is TextBox)
    {
    ((TextBox)t).Text = "This is TextBox";
    }
    }
    }

    اما پیغام میده که Can not convert type T to TextBox

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: استفاده از TextBox به عنوان پارامتر در Generic


    public class stuff
    {
    public static void BindGridView<T>(T t)
    {
    if (t is TextBox)
    {
    TextBox textBox = t as TextBox;
    textBox.Text = "This is TextBox";
    }
    }
    }

    مطمئینید که این روش برای هدفتون مناسب هست؟ این یکی رو ببینید:

    public class stuff
    {
    public static void BindGridView(Control control)
    {
    if (control is TextBox)
    {
    control.Text = "This is TextBox";
    }
    else if (control is Button)
    {
    //
    }
    }
    }

  3. #3

    نقل قول: استفاده از TextBox به عنوان پارامتر در Generic

    قصدم یادگیری Generic بود. واسه همین سعی کردم با Generic پیاده سازی کنم.

  4. #4

    نقل قول: استفاده از TextBox به عنوان پارامتر در Generic

    سلام
    کافیه از قید where استفاده کنید:



    public class stuff
    {
    public static void SetText<T>(T t) where T: Control
    {


    t.Text="This is a text";

    }
    }

  5. #5

    نقل قول: استفاده از TextBox به عنوان پارامتر در Generic

    کافیه از قید where استفاده کنید:
    ممنون
    برای DataGridView جواب نداد.
    مثلا میخوام بگم اگه DataGridView مربوط به خود ویژوال استدیو باشه یه جور Bind کن. اگه مربوط به مجموعه Telerik باشه یه جور دیگه.
     if (t is DataGridView)
    {
    t.Rows.Add(4);
    }

    راستی اگه Where رو استفاده نکنم، چطور میتونم بفهمم نوع آبجکتی که برام پاس شده چیه و اون رو استفاده کنم؟ مثلا چطور بدون استفاده از Where بفهمم DataGridView پاس شده یا مثلا TextBox ؟

  6. #6

    نقل قول: استفاده از TextBox به عنوان پارامتر در Generic

    کدهای plus و tooraj_azizi_1035 رو ترکیب کن(t رو به کنترلی که در if چک میکنید cast کنید):

    public class stuff
    {
    public static void SetText<T>(T t) where T : Control
    {
    if (t is TextBox)
    {
    t.Text = "This is a TextBox";
    }
    else if (t is ListBox)
    {
    ListBox lb = t as ListBox;
    lb.Items.Add("This is a ListBox");
    }
    else if (t is DataGridView)
    {
    DataGridView dgv = t as DataGridView;
    dgv.Rows.Add("This is a DataGridView");
    }
    }
    }

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

  1. سوال: استفاده از اشاره گرهها و به عنوان پارامتر به عنوان پارامتر
    نوشته شده توسط DR.HTML در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: جمعه 02 تیر 1391, 22:50 عصر
  2. استفاده از مقدار یکی از کنترلهای GridView به عنوان پارامتر
    نوشته شده توسط A.Yousefi در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: سه شنبه 02 اسفند 1390, 17:30 عصر
  3. خطا در هنگام استفاده یک متغیر به عنوان پارامتر
    نوشته شده توسط saed2006 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 07 فروردین 1389, 17:24 عصر
  4. استفاده از آرایه به عنوان پارامتر مشترک
    نوشته شده توسط somayehk در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 21 شهریور 1384, 07:23 صبح
  5. آدرس سرور به عنوان پارامتر برای ADOConnection
    نوشته شده توسط NOROOZY در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: پنج شنبه 28 خرداد 1383, 09:05 صبح

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

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