将多个不同类型的控件放在一个动态数组(ArrayList)中作为参数(控件数组)传递

在做项目时,业务逻辑和操作分开是必要的.于是就把几个控件作为参数进行传递,是这样实现的:

public void InsertNodes(ArrayList p_ControlList)
        {
            string strsql="....";

            DBCon dbcIns = new DBCon();//数据库连接

            SqlCommand cmd = new SqlCommand(strsql, dbcIns.Con);
            cmd.Parameters.Add("@Name", SqlDbType.VarChar);
            cmd.Parameters.Add("@ParentID", SqlDbType.VarChar);
            cmd.Parameters.Add("@TcpPort", SqlDbType.Int);
            cmd.Parameters.Add("@TELNum", SqlDbType.VarChar);
            //cmd.Parameters["@Name"].Value = p_ControlList[0].ToString();
            //cmd.Parameters["@ParentID"].Value = p_ControlList[1].ToString();
            TextBox txt_Name = (TextBox)p_ControlList[0];
            Label lab_ParentID = (Label)p_ControlList[1];
            TextBox txt_TcpPort = (TextBox)p_ControlList[2];
            TextBox txt_TelNum = (TextBox)p_ControlList[3];

........

}

是这样调用的:

                ManageNode InNodes = new ManageNode();
                ArrayList ContolList = new ArrayList();
                ContolList.Add(this.txtName);
                ContolList.Add(this.labPID);
                  ContolList.Add(this.txtTCP);
                ContolList.Add(this.txtTel);
                //NodesInfor MyNodes=new NodesInfor();
                InNodes.InsertNodes(ContolList);

OK

相当于把控件传过去时,也把其值传过去了.

这样做优劣各是什么,希望大家踊跃发言呀.
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值