gpt4 book ai didi

C# 覆盖子类中的属性

转载 作者:IT王子 更新时间:2023-10-29 04:34:20 25 4
gpt4 key购买 nike

public class MyWebControl {

[ExternallyVisible]
public string StyleString {get;set;}

}

public class SmarterWebControl : MyWebControl {

[ExternallyVisible]
public string CssName{get;set;}

new public string StyleString {get;set;} //Doesn't work

}

是否可以删除子类中的属性?我确实希望该属性被其他子类继承,而不是这个。

编辑:哎呀,好像我忘了编译什么的,因为上面发布的代码确实有效!

最佳答案

这就是为什么可以“覆盖”的框架属性采用一个 bool 参数(从表面上看)似乎毫无意义。取BrowsableAttribute例如;从名称来看, bool 参数似乎已过时,但举个例子:

class SomeComponent
{
[Browsable(true)]
public virtual string SomeInfo{get;set;}
}

class SomeOtherComponent : SomeComponent
{
[Browsable(false)] // this property should not be browsable any more
public override string SomeInfo{get;set;}
}

因此,为了回答您的问题,您可以让您的 ExternallyVisible 属性采用一个 bool 参数,以指示它是否实际上是外部可见的,并且当您继承时可以更改为 false - 就像 BrowsableAttribute .

关于C# 覆盖子类中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3840196/

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