【问题标题】:Base class '<baseclassname1>' specified for class '<partialclassname>' cannot be different为类“<partialclassname>”指定的基类“<baseclassname1>”不能不同
【发布时间】:2017-04-23 19:59:02
【问题描述】:

"为类指定基类&lt;baseclassname1&gt; '' 不能与基类不同 '' 的其他部分类型之一"

问题是我只在一个地方声明了类,实际的类文件,并且只声明了一次,非部分。 我从 "DialogBase" 继承的所有其他类都可以正常工作,但是代码最多的一个文件刚刚停止工作。

还有什么问题?可以在其他地方声明为部分吗?

Class CostDialog inherits DialogBase(This works fine)

Class Blend inherits DialogBase(This errors)

BlendBlend.vb 文件中只写为Public Class Blend 一次 这个错误没有意义

【问题讨论】:

  • 检查解决方案中是否有隐藏的设计器生成的文件。
  • 大卫,我在问题中解释说,这些类中的任何一个都没有部分声明。那个 MSDN 解决方案不适用

标签: vb.net inheritance base-class partial-classes


【解决方案1】:

您可能有多个具有相同类名的代码隐藏文件。我正在将一个网站转换为一个 Web 应用程序,发现有两个 Home 实例。所以 Project/abc/home.aspx /aspx.vb 和 Project/def/home.aspx/ /aspx.vb 如果两个 home.aspx.vb 文件具有相同的类名,就会导致冲突。

我的解决方法是保持所有文件名不变,但在其各自的代码隐藏文件中将类名修改为 abc_home 和 def_home,然后更改其 .aspx 页面顶部的 Inherits 属性。

非常怀疑这对你来说仍然是一个问题,但可能是其他人的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多