本文主要是介绍vs自动生成方法存根(Stub),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言
今天终于鼓起勇气开始敲逻辑最复杂的那条线了——开发区定性指标得分计算。别以为只是一个定性的计算,为了计算这个最后的得分,我们需要获取到的基本东西太多了,而且还要对应好。光是缕需求,就整的我头疼,终于能用两分钟磕磕绊绊的将需求说明白,心里开始犯怵了,光是说,就这么费劲,敲出来应该也是很困难的一件事吧。但是,通过昨天老师讲课最后的精华,我觉得我应该换个角度思考这个问题,我们参加项目,每天忙来忙去为的是什么?不就是自己的逻辑思维得到锻炼,增加自己的代码量,让自己得到锻炼吗?如果这么复杂的逻辑问题,这么难得的机会,我们拱手让人,或者我们举手投降,那我们对得起自己吗?想想如果我们把这个问题解决了,自己会收获多少,这样,我们就会干劲十足!然后,我开始了我的旅程……
问题
心里知道这个过程一定会遇到不少的问题的,这样也应该高兴,有问题就会有收获。这不,问题来了……
因为这个功能需要查多个步骤,因为有点复杂,所以我把每个查询的方法都分开写了,第二步的查询方法需要调用第一步的查询结果。虽然感觉有点麻烦,但是这样的代码逻辑很清晰。当我敲完D层和B层的方法,到了逻辑判断的时候就是一层层的调用上一个方法的查询结果继续查询了。可是却出了“最匹配的重载方法具有一些无效参数”的问题。如图:
解决
当我第一次遇到这个问题的时候,vs自动给提供了一个解决办法,就是生成方法存根。我随手一点,问题没了,然后我就继续敲。
到了第三步使用第二步的查询结果作参数的时候,这个问题又出现了,这次我是不能忍了,然后我就查了,问题的原因是我传进去的参数类型不一致。就是我定义方法和使用方法时,参数类型不一致。之后我们顺着这个方法里的参数开始寻找根源。
知识
最后我发现每次我定义变量的时候都是用Var,没有指定这个变量的类型。现在我来普及一下相关的知识:
1、 var是定义变量的关键字,是variable的简写。在js中声明语句,如果是声明一个全局范围的变量,我们可以使用也可以不使用var关键字;但是如果声明一个过程级变量,则必须使用var关键字。如果在一个过程级中没有使用关键字,则这个变量是一个全局变量。
2、 当我们声明变量的时候,如果没有定义变量的数据类型,那么就会默认为Variant类型。这是一种特殊的类型,可以存放任何类型的数据,向Variant变量赋值的时候不必进行任何转换,系统将自动进行必要的转换。
3、 生成方法存根(Stub)是一项IntelliSense 自动代码生成功能,它提供了一种简便的方法,使 Visual Studio 在您编写方法调用时创建新的方法声明。Visual Studio 从调用推导声明。简单了说就是当使用这个方法的时候编译器没有检测到这个方法被定义,所以希望你来生成一下这个定义。某些编程样式建议应在定义方法之前直接使用方法,这样会更容易确定您开发的API的形式。生成方法存根(Stub)操作还可以提高工作效率,因为你不需要为生成新方法从调用代码转移到定义代码,即从当前的工作重心转移到另一个分散的中心。
总结
虽然这些东西不难,都是一些基础的内容,但是我们的知识是需要反复的,不要以为越往后走遇到的错误越高大上,有的时候一个基础知识的模糊认识,就会让我们原地打转。还有就是,作为一个编程人员,逻辑复杂的情况会有很多,我们要将问题分散来看,专业知识就是解耦,不能综合到一起,那么自己就会被困死在这个圈圈中……
这篇关于vs自动生成方法存根(Stub)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!