作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
是否可以从继承的属性中删除属性?我认为通过使用 new 关键字我可以这样做...
public class Person
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
public class Employee : Person
{
[Required]
public string JobTitle { get; set; }
public new string FirstName { get; set; }
}
...但这根本不起作用。这让我感到惊讶,因为 new 专门用来隐藏继承的成员。
最佳答案
您的 Employee 类现在有 2 个 FirstName 属性,其中一个仍然是 [Required] ...
直接回答:不,据我所知,您不能删除属性。那将违反替代原则。当 Employee IS-A Person 时,Person.FirstName 的属性适用。
并且:此处的 new
关键字仅用于抑制“X is hiding base class member..”警告。它对代码的语义没有任何影响。
关于c# - 有没有办法从继承的属性中删除属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367104/
我是一名优秀的程序员,十分优秀!