【发布时间】:2016-02-03 17:25:32
【问题描述】:
File2 中的部分方法永远不会被调用。 File2中如何调用Init()?
文件1
public partial class frmMy001 : Form, ITab1View
{
public frmMy001()
{
Init();
}
partial void Init();
}
文件2
public partial class frmMy001 : Form, ITab2View
{
partial void Init();
partial void Init()
{
...// Breakpoint never hit
}
}
【问题讨论】:
-
当前代码编译失败,出现“部分方法可能没有多个定义声明”。请发帖minimal reproducible example。
-
@JonSkeet 它实际上是在我的 VS 2015 上编译的。但删除部分签名失败编译。
-
这表明您将它们放在不同的名称空间中。 (这是 complete 示例会突出显示的那种事情。)作为另一种证明方式,尝试在一个部分添加一个公共成员,然后从另一部分调用它 - 我怀疑你会发现你做不到。
-
@JonSkeet 正确。我没注意命名空间不同。
-
对。此时,您应该更新问题或将其删除。如果你只是更新它,我很乐意添加一个答案......但老实说,一旦你发布命名空间不同,无论如何它很可能很明显。
标签: c# partial-classes