关于接口返回类型错误

Toney520 2009-11-10 01:51:57
public class QuestionInfo
{

public int AdminId { get; set; }
public string AdminName { get; set; }
}

public interface IQuestion
{
IList <QuestionInfo> GetListByAdminId(int adminId);
}

以下编译不过,提示错误
public class Question : IQuestion
{
public IList <QuestionInfo> GetListByAdminId(int adminId)
{
IList <QuestionInfo> list = new List <QuestionInfo>();
using (NullableDataReader reader = DBHelper.ExecuteReaderSql("SELECT * FROM ADMIN WHERE AdminID = @AdminID ", new Parameters("@AdminID", DbType.Int32, adminId)))
{
while (reader.Read())
{
list.Add(GetInfoFormReader(reader));
}
}
return list;
}
}



编译时提示以下错误,不知是何问题,高手指教!

“Question”不会实现接口成员“IQuestion.GetListByAdminId(int)”。“Question.GetListByAdminId(int)”或者是静态、非公共的,或者有错误的返回类型。
...全文
423 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
烈火蜓蜻 2009-11-10
  • 打赏
  • 举报
回复
建议把

public IList <QuestionInfo> GetListByAdminId(int adminId) 
方法的声明改一下,改成以下显式的声明

public IList<QuestionInfo> IQuestion.GetListByAdminId(int adminId)
{}
烈火蜓蜻 2009-11-10
  • 打赏
  • 举报
回复
很明显,你的子类没有实现接口的方法,或是你的方法声明不正确,没有正确的实现接口的方法
Toney520 2009-11-10
  • 打赏
  • 举报
回复
是的,命名空间的问题
honkerhero 2009-11-10
  • 打赏
  • 举报
回复
命名空间冲突吧,都把类写全名试试
Toney520 2009-11-10
  • 打赏
  • 举报
回复
soaringbird 你说的很对,一点没错,经查。是因为在接口和类中引用的QuestionInfo 不是同一个程序集
soaringbird 2009-11-10
  • 打赏
  • 举报
回复
不可能。你把这三个类复制到一个文件里,没问题
Toney520 2009-11-10
  • 打赏
  • 举报
回复
是的,就这一个
soaringbird 2009-11-10
  • 打赏
  • 举报
回复
QuestionInfo是同一个吗?
Toney520 2009-11-10
  • 打赏
  • 举报
回复
引入啦
  • 打赏
  • 举报
回复
你引入了包含接口的这个程序集了吗

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧