请问这个问题怎么解决呀!(急)
我定义了一个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#