水木社区手机版
首页
|版面-Microsoft.NET技术(DotNET)|
新版wap站已上线
返回
1/1
|
转到
主题:有什么好方法,让子类的构造函数最后统一执行某个方法?
楼主
|
feed
|
2022-11-21 15:09:22
|
只看此ID
rt
目前我是 基类的构造函数最后一句话,执行一个 通用 GenerateId()
后来发现,需要子类的构造函数执行完,才能执行这个 GenerateId()
子类有十多个,不想一个个的修改
有啥好方法吗?
--
FROM 137.83.237.*
1楼
|
ustcBoy
|
2022-11-22 08:44:52
|
只看此ID
我没太看懂lz的意思,是下图中左改右的意思吗?
【 在 feed 的大作中提到: 】
: rt
: 目前我是 基类的构造函数最后一句话,执行一个 通用 GenerateId()
: 后来发现,需要子类的构造函数执行完,才能执行这个 GenerateId()
: ...................
--
FROM 60.180.33.*
2楼
|
donald2020
|
2022-11-22 11:41:23
|
只看此ID
你子类的构造函数在做什么,能从构造函数里剥离出来吗?
你可能需要在父类里写个方法,比如beforeGeneratorID()
然后父类的构造函数里先调用这个方法,在调用GenerateId()
如果子类需要的话,覆盖beforeGeneratorID()
没办法先执行子类构造函数再执行父类构造函数
【 在 feed 的大作中提到: 】
: rt
: 目前我是 基类的构造函数最后一句话,执行一个 通用 GenerateId()
: 后来发现,需要子类的构造函数执行完,才能执行这个 GenerateId()
: ...................
--
FROM 165.225.233.*
3楼
|
webhost
|
2022-11-22 19:11:18
|
只看此ID
要么继续分析代码,剥离依赖关系使得不需要子类的构造函数执行完也能调用通用函数。
要么另外创建一个代理类,由这个代理类来new子类,通用函数可以放在代理类里,也可以放在父类里,由代理类new完再调用。
【 在 feed 的大作中提到: 】
: rt
: 目前我是 基类的构造函数最后一句话,执行一个 通用 GenerateId()
: 后来发现,需要子类的构造函数执行完,才能执行这个 GenerateId()
: ...................
--
FROM 125.119.237.*
4楼
|
feed
|
2022-11-26 14:34:14
|
只看此ID
我觉得只能像你这样了
谢谢
【 在 donald2020 的大作中提到: 】
: 你子类的构造函数在做什么,能从构造函数里剥离出来吗?
: 你可能需要在父类里写个方法,比如beforeGeneratorID()
: 然后父类的构造函数里先调用这个方法,在调用GenerateId()
: ...................
--
FROM 137.83.237.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版