.NET接口问题,错误提示:“不会实现接口成员” 是什么原因?

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:56:59
小弟刚学.NET,照着书本试着写了一个.NET接口 运行的时候报错“GBook”不会实现接口成员“IGBook.AddMessage()”

下面放出源码,请教各位前辈帮我看看 是我哪里疏漏了?

另外还有Message.aspx和Message.aspx.cs页面由于篇幅问题不能贴上来,烦请前辈加小弟QQ:2800668 感激不尽。

========
GBook.cs
========
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public class GBook : IGBook
{
private static readonly string TXTADDMESSAGE = "INSERT INTO MessageBox(UserName,Sex,Email,Phone,Titles,Type,Content,CreateTime)VALUES";
public GBook()
{
///
}

/// <summary>
/// 添加新的留言
/// </summary>
public int AddMessage(string UserName,bool Sex,string Email,string Phone,string Titles,int Type,str

IGBook接口的原型是
int AddMessage(); //没有参数的,
而你实现的GBook.AddMessage方法有参数,编译不会通过啦!

接口改为:

/// <summary>
/// 接口 IGBook
/// </summary>
public interface IGBook
{
int AddMessage(string UserName,bool Sex,string Email,string Phone,string Titles,int Type,string Content);
}

int AddMessage(string UserName, bool Sex, string Email, string Phone, string Titles, int Type, string Content);

你实现了AddMessage的重载.但是没实现AddMessage()

因为你的接中的AddMessage方法声明是没有参数的。而你实现重写的时候又给了那么多的参数。与接口中的不一致。也就是说你根本就没有重写接口里的方法。所以会现这样的错误。你可把接口里的AddMessage()改成有参数的。和你重写的那个参数要一致。

注意:一个类实现一个接口。必须实现接口里的每一个方法。