View Full Version : نسبت دادن دو نوع شی ء به یک متغیر
bachemosbat
شنبه 09 مهر 1384, 15:50 عصر
چگونه می توان یک متغیر تعریف کرد که هم تکست باکس و هم کامبو باکس را بتوان به آن نسبت داد. و از Property های SelectionText,SelectionLenght به ازای هر کدام از دو نوع شی ء با یک متغیر استفاده کرد.
مطهر
شنبه 09 مهر 1384, 16:35 عصر
دقیقاً متوجه نشدم ولی شاید منظورت این باشه که SelectionText,SelectionLenght را در یک متغیر بتونی ذخیره کنی ؟
object obj=new object();
obj=textBox1.SelectionLength;
int i=(int)obj;
obj=textBox1.SelectedText;
string str=(string)obj;
کمی واضحتر سوالت را بیان کن
bachemosbat
شنبه 09 مهر 1384, 21:08 عصر
نه منظورم اینه که مثلا اینطور تعریف کنم:
object obj;
obj=textbox1;
MessageBox.Show(obj.SelectedText)
obj=combobox1;
MessageBox.Show(obj.SelectedText)
ولی این کد ارور می ده و نمی تونه SelectedText رو پیدا کنه.
مطهر
یک شنبه 10 مهر 1384, 21:53 عصر
object obj;
obj=textBox1;
MessageBox.Show(((TextBox)obj).SelectedText);
به این عبارت دقت کن
(TextBox)obj
aidinwashere
دوشنبه 11 مهر 1384, 00:52 صبح
اگر منظور مطهر رو نفهمیدید در مورد type casting بخونید
bachemosbat
دوشنبه 11 مهر 1384, 09:02 صبح
اینو بلدم ولی نمی خوام دوباره نوع اونو از Object تبدیل کنم به TextBox چون ممکنه در اون یا یک تکست باکس قرار بگیره یا کامبو باکس و من می خوام برای هر دو نوع شی ء یک کد بنویسم.
S.Azish
دوشنبه 11 مهر 1384, 13:21 عصر
از اونجایی که ایندو دو شی مختلف هستند و هیچ interface مشابهی ندارن پس نمیشه اونا رو به یک چیز واحد تبدیل کرد ولی میشه از reflection استفاده کرد
object target = null;
target = textBox1;
MessageBox.Show(target.GetType().GetProperty("SelectionLength").GetValue(target, null).ToString());
razavi_university
سه شنبه 12 مهر 1384, 08:47 صبح
سلام
فکر کنم با چند شکلی (Polimorphism) مشکل حل بشه
S.Azish
سه شنبه 12 مهر 1384, 13:26 عصر
از polymorphysm نمیشه اینجا استفاده کرد چرا که دو تا شی interface های شبیه به هم ندارن.
bachemosbat
چهارشنبه 13 مهر 1384, 05:33 صبح
ممنون از راهنماییتون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.