gpt4 book ai didi

c# - 从基类更改属性 setter 行为

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:51 24 4
gpt4 key购买 nike

我正在使用 Telerik RadScheduleView 并将 IAppointment 类实现到我定义的子“作业”类中。 “开始”和“结束”(DateTimes) 属性位于 IAppointment 类(我继承了该类)中。导航到“Public Virtual”方法(在 IAppointment 类中)向我显示 { get;放; } 但我无法将其更改为例如在将新值设置为 Start 或 End 时显示 MessageBox。它在选项卡中显示元数据,这只是我无法编辑的内容吗?有什么办法可以以某种方式覆盖此访问方法吗??

最佳答案

名称 IAppointment 向我表明它不是您要继承的类,而是您要实现的接口(interface) - 但是,我不熟悉 Telerik 产品,它们的命名约定可能只是很奇怪,所以,从表面上看你所说的,是的,你应该能够覆盖定义为虚拟的属性。

例如,如果我们在某处定义了以下类,但可以访问,以便我们可以继承,并且它公开了一个虚拟成员:

public class A
{
public virtual int J { get; set; }
}

然后我们可以继承和覆盖 - 我们仍然可以访问基本实现,但如果需要,也可以“注入(inject)”我们自己的实现:

public class B : A
{
public override int J
{
get
{
return base.J;
}
set
{
base.J = value;
}
}
}

但我终究无法想象为什么您想要从属性访问器的逻辑中显示一个消息框,并且不能强调您不应该这样做。

关于c# - 从基类更改属性 setter 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992555/

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