首页 新闻 会员 周边

C#重载方法参数提示不正确...你们遇到了吗?

0
悬赏园豆:5 [已解决问题] 解决于 2015-07-29 18:06

如下图,我写了个重载方法P

我记得以前调用重载的时候,

vs会根据你输入的参数类型,智能的知道你要调用的是哪个重载...

然后给出对应的参数提示的

 

比如上边的方法中,我输入的第一个参数是字符串型的,

那么它应该提示的是第二个重载方法,而不是第一个...

不清楚是什么原因它现在不智能了..是不是VS设置有问题?最近没设置过啊.你们的会智能提示吗?

 

另外顺带问一个问题,当一个方法有多个重载的时候,方法的排序规则是怎样的?是参数个数吗?还是参数名称a-z排...?这个顺序有办法手动修改吗?我想让最常用的重载始终显示在第一个.

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-07-27 09:18
< >
分享
最佳答案
0

因为你只写了一个逗号,所以没法确定你的重载参数是什么。P("",)可以是P(1,"",1)也可以是P("",1,1)
所以就显示第一个重载方法的提示。你补齐参数就没事儿了

一开始 他是根据你写的重载方法的顺序来显示提示参数类型的。智能提示是作为一种参考出现的,方便你对照着书写。在你写参数的过程中也会智能的排除不对应的重载方法

希望对你有所帮助!

收获园豆:4
at小怪兽 | 小虾三级 |园豆:760 | 2015-07-27 10:33

"在你写参数的过程中也会智能的排除不对应的重载方法"

我也这么认为的,P("", 那么第一个参数是字符串了,应该将第一个参数不是字符串的重载排除了..

可是它没有啊..你在VS2013上看看你的是不是也会这样?估计不会的.

hexllo | 园豆:318 (菜鸟二级) | 2015-07-27 10:40

@hexllo: 你的两个重载方法参数都是有string类型的,你只写了string参数,系统是没法判断你的string类型在哪个位置。因为都有可能。就像两点确定一条直线一样,你只给出一个点,那另一个点可能在你这个点的前面也可能在你这个点的后面。你要坚持深究下去,那我也不知道了。

截了几个图 你看看吧!

at小怪兽 | 园豆:760 (小虾三级) | 2015-07-27 11:10

@莫宇: 请问你用的是VS多少,怎么会列出一个列表呢,还是你用了什么插件,分享一下..

hexllo | 园豆:318 (菜鸟二级) | 2015-07-29 18:09

@hexllo: VS2013  我还装了Resharper

at小怪兽 | 园豆:760 (小虾三级) | 2015-07-30 14:18

@莫宇: 好的,谢谢

hexllo | 园豆:318 (菜鸟二级) | 2015-08-02 11:21
其他回答(3)
0

用的是哪个版本的Visual Studio?

收获园豆:1
dudu | 园豆:30994 (高人七级) | 2015-07-27 09:46

VS2013

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-07-27 10:33

麻烦帮我试下,在你的VS2013上会不会也这样?

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-07-27 10:40

@hexllo: VS2013与VS2015都是这样,估计是VS的智能感知的智商没这么高,还需要进一步进化。

支持(0) 反对(0) dudu | 园豆:30994 (高人七级) | 2015-07-27 10:55
0

2013比2012好像就多了一个提示引用的功能,感觉没必要纠结这个没意义的问题,有反正不会去看他里面的反射的代码,不过2015的前端的方式现在我不怎么喜欢,感觉又回到以前

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-07-27 17:38
0

可能提示不够好。

gw2010 | 园豆:1487 (小虾三级) | 2015-07-29 16:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册