首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

探索,怎么写这个通用方法,求大神

2013-06-19 
探索,如何写这个通用方法,求大神。写一个通用方法。传入的参数,第一个默认是checkbox,后边的可以是textbox、

探索,如何写这个通用方法,求大神。
写一个通用方法。
传入的参数,第一个默认是checkbox,后边的可以是textbox、也可以是combbox、也可以是日期控件。而且除了checkbox的数量固定为一个,其他参数传入的数量都不固定。
如果checkbox是选中的呢,textbox、combbox、等等其他控件 全部为可写的。
如果checkbox没有选中的呢,textbox、combbox、等等其他控件 全部为只读的。
问如何实现这个方法?
[解决办法]


public void Method(CheckBox checkbox, params Control[] controls)
        {
            if (checkbox.Checked)
            {
                foreach (var item in controls)
                {
                    var propertyInfo = item.GetType().GetProperty("ReadOnly");
                    if (propertyInfo == null)
                        continue;
                    propertyInfo.SetValue(item, false, null);
                }
            }
            else
            {
                foreach (var item in controls)
                {
                    var propertyInfo = item.GetType().GetProperty("ReadOnly");
                    if (propertyInfo == null)
                        continue;
                    propertyInfo.SetValue(item, true, null);
                }
            }
        }


 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();



            TestClass a = new TestClass();

            a.Method(new CheckBox(), new TextBox(), new ComboBox().....);
        }
    }


热点排行