News实现了接口INews。在另一个类TheNews中写下代码:INews iNews = new News();却有错误!【错误 3 无法将类型“IEWebSite.BLL.News”隐式转换为“IEWebSite.IDAL.INews”。存在一个显式转换(是否缺少强制转换?) F:\IEWebsite\BLL\TheNews.cs 26】
说明:News、INews以及包含代码“INews iNews = new News();”的类TheNews分别在3个命名空间中!

解决方案 »

  1.   

    很明显是命名空间的问题!
    News和接口INews 需要相同的命名空间才能实现接口的功能INews中:namespace IEWebSite.xx
    {
        public interface INews
        {
        }
    }News中
    namespace IEWebSite.xx
    {
        public class News:INews
        {
        }
    }
      

  2.   

    以上假设 News和INews 的命名空间同时改为 IEWebSite.xx   
    ".xx"可以更换为任意名称。
      

  3.   

    我找到原因了,是因为TheNews所在的命名空间里有另一个类News。
    发现自己犯了个很傻的错误,就想快点结束掉这个帖子,结果一个回复也没有,那就无满意结贴吧,但是必须24小时以后。没办法就用马甲上来顶了一下再结贴了!你是在我结贴以后再回复的吧!
    下次有机会再补给你!
    凡是我的帖子,只要回复不是捣乱的都有分!
      

  4.   

    在另一个类TheNews中写下代码:INews iNews = new News();却有错误! 
    改为:
    INews iNews = (INews)(new News());