明志唯新

发现不明确的匹配的解决方案

发表于

将 VS2003 下的一个 Web 项目升级到 VS2005 后,去除明显错误后编译测试运行。某页面发现一个问题:

分析器错误

分析器错误

说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: 发现不明确的匹配。

这个问题发生原因一般情况是:

aspx 页面里面的控件有与您的 aspx.cs 里的类变量重名(不区分大小写)的 ID

那么我发现在代码中有如下的声明:

    protected System.Web.UI.WebControls.Label BlogID;
    protected System.Web.UI.WebControls.Label blogID; 

blogID 在前台控件中不存在,仅在 cs 代码中声明了,因此产生了上述的问题。

由此看来虽然,C# 等语言中允许我们使用大小写不同来声明不同的变量,但是我们应该尽量避免这样的情况,使用完全不同的名字区分不同的变量为好啊。