成员名称不能与它们的封闭类型相同下面是一个类定义,运行中出错: 成员名称不能与它们的封闭类型相同
我在网上搜了,搜到还不少,但是看了又看,没明白他们说的什么意思,难道类的构造函数不应该和类各一样么?
倒底是说谁和谁不能相同啊?
请朋友们直接给我改下好么?
using System;
using System.Web;
namespace ShowMessage
{
/// <summary>
/// Msg 的摘要说明。
/// </summary>
public class ShowMessage
{
public void ShowMessage()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void ShowMessage(string strMsg)
{
System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');</script>");
}
public static void ShowMessage(System.Web.UI.Page page, string strMsg)
{
page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');</script>");
}
public static void ShowMessage(string strMsg, string Url)
{
System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>");
}
public static void ShowMessage(System.Web.UI.Page page, string strMsg, string Url)
{
page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>");
}
public static void ShowConfirm(string strMsg, string strUrl_Yes, string strUrl_No)
{
System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>if ( window.confirm('" + strMsg + "')) { window.location.href='" + strUrl_Yes +
"' } else {window.location.href='" + strUrl_No + "' };</script>");
}
}
}
------解决方案--------------------不要把命名空间、类名、方法名都搞成一样的名字。
换一个名字看看。
------解决方案--------------------void的方法,如果不写return,其实编译器会在你代码最后自动加上return;的。
------解决方案--------------------而且也不是写不写的问题。
关键构造函数在对象创建的时候被调用,所以才没有返回值。
尤其是你写成静态构造函数,静态构造函数根本是不能被调用的,它只能由CLR调用。