deerchao
看这样一段代码:
    public interface ICreateTime
    {
        DateTime CreateTime
        {
            
get;
            
set;
        }
    }

    
public abstract class EntityBase : ICreateTime
    {
        
public EntityBase()
        {
            CreateTime 
= DateTime.Now;
        }
    }

感觉起来是不是很直观呢?
但是不行,编译不能通过: \'EntityBase\' does not implement interface member \'ICreateTime.CreateTime\'. 这不废话嘛,我当然知道它没有实现,不然我干吗把它标记为abstract呢? 我不是想把它留到子类实现吗?

郁闷了很久之后,终于想明白了,原因就是C#中实现接口重写基类方法的差异.再往深一点想就是C#编译器太懒,如果像Java那样自动分辨哪些方法是虚拟的,哪些不是的多方便..

分类:

技术点:

相关文章:

  • 2021-05-26
  • 2022-01-21
  • 2022-01-12
  • 2021-06-14
  • 2021-11-22
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-18
  • 2022-12-23
  • 2022-02-15
  • 2022-01-26
  • 2021-06-01
相关资源
相似解决方案