我收到错误
修饰符public对此项目无效
这是我的代码,请帮助我。
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class First : System.Web.UI.Page,test
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = test1("Hi", 1).ToString();
}
}
public class Base
{
public int test1(int x)
{
return x;
}
public string test1(string x)
{
return x;
}
public string test1(string x, int y)
{
return x + y;
}
}
public interface test
{
public int test1(int x);
public string test1(string x);
public string test1(string x, int y);
}
谢谢, 普拉迪普
答案 0 :(得分:19)
您的界面声明应如下所示:
public interface test
{
int test1(int x);
string test1(string x);
string test1(string x, int y);
}
访问修饰符在interface declarations上无效:
接口由方法组成, 属性,事件,索引器或任何 这四个成员的组合 类型。界面不能包含 常量,字段,运算符,实例 构造函数,析构函数或类型。 它不能包含静态成员。 接口成员是自动的 公众,他们不能包括任何 访问修饰符。
答案 1 :(得分:2)
从接口方法声明中省略“public”关键字。这是无效的,接口总是具有公共可访问性。
在Base类中定义这些方法也不够好。让Base类继承“test”或将方法移动到First。
声明Page_Load事件处理程序受保护也是可疑的,它应该是私有的,因为无法覆盖它并且直接从派生自First的类调用它通常是一个错误。