سار
شنبه 28 مهر 1386, 15:36 عصر
کد زیر رو نوشتم که فکر کنم از قیافش پیداست که داره چیکار می کنه.
کلاسی دارم که بسته به نوعی که انتخاب میشه یک WEBControl می سازه. بعضی از Property های این نوع ساخته شده در کلاس من موجود هست و می خوام مقدار اون Property رو جایگزین مقدار WEbBontrolی که ساختم بکنم.
فقط نمیدونم در قسمتی که به رنگ قرمز نشون دادم باید چی بنویسم!!!
تو قسمت قرمز ظاهرن باید نام Property نوشته بشه ولی از کجا؟!!
foreach (PropertyInfo ControlInfo in answer.Control.GetType().GetProperties())
foreach (PropertyInfo AnswerInfo in answer.GetType().GetProperties())
{
if ((ControlInfo.PropertyType == AnswerInfo.PropertyType) && (ControlInfo.Name == AnswerInfo.Name))
ControlInfo.SetValue(answer.Control as object, AnswerInfo.GetValue(null,null), null);
}
مثلن اون خط اگر به شکل
info[5].SetValue(answer.Control as object, TextBoxMode.Password, null);
نوشته بشه همه چیز درست کار می کنه.
کلاسی دارم که بسته به نوعی که انتخاب میشه یک WEBControl می سازه. بعضی از Property های این نوع ساخته شده در کلاس من موجود هست و می خوام مقدار اون Property رو جایگزین مقدار WEbBontrolی که ساختم بکنم.
فقط نمیدونم در قسمتی که به رنگ قرمز نشون دادم باید چی بنویسم!!!
تو قسمت قرمز ظاهرن باید نام Property نوشته بشه ولی از کجا؟!!
foreach (PropertyInfo ControlInfo in answer.Control.GetType().GetProperties())
foreach (PropertyInfo AnswerInfo in answer.GetType().GetProperties())
{
if ((ControlInfo.PropertyType == AnswerInfo.PropertyType) && (ControlInfo.Name == AnswerInfo.Name))
ControlInfo.SetValue(answer.Control as object, AnswerInfo.GetValue(null,null), null);
}
مثلن اون خط اگر به شکل
info[5].SetValue(answer.Control as object, TextBoxMode.Password, null);
نوشته بشه همه چیز درست کار می کنه.