gpt4 book ai didi

c# - 对派生类型执行常见操作

转载 作者:行者123 更新时间:2023-11-30 12:18:31 24 4
gpt4 key购买 nike

有没有一种巧妙的方法可以让多个类(比如从一个接口(interface)派生)每个执行相同的操作?想想 ASP.NET 中为每个请求(每个关键字)提供服务的 http 模块——有没有办法对派生类型执行一些常见操作?反射可能是一种方式,但我会对基类级别的方式感兴趣。

谢谢

最佳答案

不仅仅是一个界面;你会想在中间有一个抽象类:

abstract class Whatever : IFooable {
public virtual void Do () {
PreDo();
}

protected abstract void PreDo();
}

然后您调用 DoPreDo 会首先自动在所有实现类型上调用。

(编辑:为了清楚起见,我将 Do 设为虚拟的,这意味着如果您重新实现它,您应该首先调用 base.Do() ,只是为了确保它实际调用了父方法)。

关于c# - 对派生类型执行常见操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2143530/

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