【发布时间】:2020-10-05 09:15:07
【问题描述】:
经过研究和this answer by Mr. Skeet 我认为这是不可能的,我只是想与社区再次确认是否遗漏了什么,或者我是否可以简化冗余的部分方法覆盖,这些覆盖看起来与我的生成的部分类完全相同.以下是我所拥有的以及我想要完成的:
我有许多生成部分类和方法。每个生成的分部类都有相同的分部方法ProccessResponse,例如:
// Generated partial classes/methods
public partial class Item1 {
partial void ProcessResponse();
public DoThing1(){
//some generated business logic stuff
ProcessResponse();
//some more generated business logic stuff
}
}
public partial class Item2 {
partial void ProcessResponse();
public DoThing2(){
//some generated business logic stuff
ProcessResponse();
//some more generated business logic stuff
}
}
我想重写 ProcessResponse() 的逻辑,使其对所有上述部分类都相同...在执行时执行一些日志记录。
我试图通过不为每个单独的部分类定义相同的部分方法来减少所有部分类中的业务逻辑冗余,例如:
// Non generated overriding partial classes/methods
public partial class Item1 : BaseClass { }
public partial class Item2 : BaseClass { }
public BaseClass {
partial void ProcessResponse(){
// Do The Same thing (logging....) for each partial class/method....
}
}
这不起作用,上面BaseClass 中的部分方法不被识别为部分类中的相同部分方法......有什么想法或建议来完成这个吗?谢谢。
【问题讨论】:
标签: c# asp.net-core base-class partial-classes