C#方法与参数

看了上篇封装方法,大家对封装多少也清楚点了吧,下面该说带参数的封装了。用好封装,可以减少大量的冗余代码。

这里的封装可以是一个过程的封装(void),也可以是对一个目标结果的封装:int,string等,需要return一个结果,这个方法就代表封装处理后的最终结果(可以回忆一下飞行棋的方法)。如果说封装是一个工厂,那么参数就是这个工厂的灵魂。有了参数,封装的方法就变活了,参数的作用好比是一个坑、一个位置,原来方法里写死的东西只能处理特定的数据,引用参数后就把写死的位置写活了,无论什么数据,只需调用方法前给它值,就能对它进行处理。

例子:

方法: 
//插入固定数据
        public void AddCashInfo( string ison,string id)
        {
            List<ChargeUserInfo> userlist = UserInfo(id);

            cash.CID = userlist[0].UID;
            cash.CName = userlist[0].UName;
            cash.CType = userlist[0].UType;
            cash.Cash = userlist[0].UCash;
            cash.COnTime = DateTime.Now.ToString();
            cash.IsOn = ison;
            bool result = cashfacade.AddCashInfo(cash);
        }
——————————————————————————————————————————————————————————
调用:
//插入数据
        string ison = "1";
        tc.AddCashInfo(ison, id);

上面的方法也可以写成这样:

//插入固定数据
        public bool AddCashInfo( string ison,string id)
        {
            List<ChargeUserInfo> userlist = UserInfo(id);

            cash.CID = userlist[0].UID;
            cash.CName = userlist[0].UName;
            cash.CType = userlist[0].UType;
            cash.Cash = userlist[0].UCash;
            cash.COnTime = DateTime.Now.ToString();
            cash.IsOn = ison;
            bool result = cashfacade.AddCashInfo(cash);
            return result;
        }

这时,这个方法就成了一个bool类型的数据,如果别的方法需要用到这个方法的结果,可以写成这种形式然后直接用。

上面的参数就是我们挖的坑,用方法的时候给参数赋值就能将数据带入方法进行处理。我们在用三层进行机房重构的时候DAL层用到的参数是实体的参数,通过实体来传值的,用实体传值可以减少参数的个数。至于参数的值具体是怎么传的,还得通过调试来一步步跟踪它才能清楚。

根据不同的需要,要改动方法的逻辑或是写入值,取出值,这时候简单的参数的使用就很难实现了,如何解决,可以考虑一下out、ref 关键字。详解请参考下文。

发布了233 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41026669/article/details/98982895