【发布时间】:2021-12-24 19:52:14
【问题描述】:
我有一个生成的部分类
public partial interface IPartialInterface
{
Task<object> Method(string param)
}
public partial class PartialClass : IPartialInterface
{
public Task<object> Method(string param)
{
// does stuff
}
}
我想扩展 Method 以便我可以插入一些逻辑,然后根据我的逻辑让 PartialClass.Method 逻辑接管或停止它。
【问题讨论】:
-
你听说过partial methods吗?这是你能得到的最好的。
-
简短回答。你不能。你甚至不能“扩展”一个部分方法;这只是一个声明,意思是“在其他地方实施”。想一想:这两部分会以什么顺序执行?变量作用域是什么样的?
-
谢谢,@FranzGleichmann。我搜索了一下,找不到任何东西。以为只有我,但猜不是;(
-
The Manual 非常详细地说明了部分方法可以做什么和不能做什么。但简而言之,它仅限于:类的一部分(生成的)定义方法签名的样子,一部分(用户编写的)可选地定义它的作用。最后,您只限于生成器生成的内容。
-
对我来说,这听起来像继承是要走的路。
标签: c# .net-core partial-classes