gpt4 book ai didi

c# - 有没有办法从继承的属性中删除属性?

转载 作者:可可西里 更新时间:2023-11-01 09:10:37 29 4
gpt4 key购买 nike

是否可以从继承的属性中删除属性?我认为通过使用 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com