public interface IRecordInformation
{
DateTime CreatedOn { get; set; }
DateTime ModifiedOn { get; set; }
}
public class CareerApplication : IRecordInformation
{
public int CareerApplicationId { get; set; }
public string Name { get; set; }
public string FileName { get; set; }
public string Email { get; set; }
public DateTime IRecordInformation.CreatedOn { get; set; }
public DateTime IRecordInformation.ModifiedOn { get; set; }
}
我为什么要这样做?因为如果我更改接口并删除一个属性,那么应该有编译时错误,即接口中没有声明属性,其实现存在于类中。这样我可以从类中删除实现。但是,如果我不在类中使用接口名称使用显式实现,那么如果我从接口中删除一个属性,那么相应的属性将被视为类本身的属性。
我试过这样做
public DateTime CreatedOn { get => ((IRecordInformation)this).CreatedOn; set => ((IRecordInformation)this).CreatedOn = value; }
但是有一个堆栈溢出异常,我要附加图像