关于参数为表达式的方法重载的一个bug

老张一笑 老张一笑 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
首先个人觉得是个bug.
不是运行bug,是vs的重载提示的问题.

环境VS2010 .net 4.0
代码如下:

public class Person
{
public string Name { set; get; }
public string Age { set; get; }
}
public class TestObject
{
public string AA { set; get; }
public string BB { set; get; }
}
public class Test
{
//修饰符非public
private void Update(Func<Person, object> whereFun)
{

}
public void Update(Func<TestObject, bool> whereFun)
{

}
}


大家可以试试,当调用Update的时候,居然默认智能提示是private的方法.
Test t = new Test();
t.Update(s=>s. //当输入这里的时候居然 "点" 出来的是 Person 成员.
更奇怪的是,当把两个方法的代码位置更换一下,奇怪的现象有发生了,居然"点"出来了TestObject对象成员(刚刚发现)
虽然影响不大,也很好处理, 我确实花了一个多小找到问题所在
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
老张一笑
C# 111,128 成员 642,536 内容