当前位置:编程学习 > C#/ASP.NET >>

请问这个问题怎么解决呀!(急)

我定义了一个Leaveword类继承了ILeaveword接口但出现了以编译时出现了下面错误:



编译器错误信息: CS0266: 无法将类型“Leaveword”隐式转换为“ILeaveword”。存在一个显式转换(是否缺少强制转换?)

源错误:

 

行 27:     private void BindLeavewordData()
行 28:     {
行 29:         ILeaveword word = new Leaveword();
行 30:         SqlDataReader dr = word.GetLeavewords();
行 31:         LeavewordList.DataSource = dr;
 


--------------------编程问答-------------------- ILeaveword word = new Leaveword();
接口只能继承,不能被实例划的 --------------------编程问答-------------------- ILeaveword word = new Leaveword();
语法没什么错误  接口对象 可以被 实现类 实例化  好像算是多态了吧

这个错误很可能是 没有声明实现接口
public class Leaveword : ILeaveword

: ILeaveword 是不是忘写了 --------------------编程问答-------------------- ILeaveword word = new Leaveword();
如果你实现了ILeaveword接口,这么写是没问题的。 --------------------编程问答-------------------- 定义接口:
public inte易做图ce ILeaveword
{
     SqlDataReader GetLeavewords();
    
 
}
我有实现接口的:
public class Leaveword:ILeaveword
{
    private static readonly string GETLEAVEWORDS = "select * from Leavewords";
    public SqlDataReader GetLeavewords()
    {
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
        SqlCommand myCommand = new SqlCommand(GETLEAVEWORDS,myConnection);
        SqlDataReader dr = null;
        try
        {
            myConnection.Open();
            dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        }
        catch (SqlException ex)
        {
            throw new Exception(ex.Message,ex);
        }
        return dr;
    } --------------------编程问答-------------------- 我也觉得应该没有问题,关注一下。 --------------------编程问答-------------------- ILeaveword word = (ILeaveword)(new Leaveword()); --------------------编程问答-------------------- 强制转换后还是不行,具体怎么解决啊?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,