【问题标题】:Partial Class Inherits Base Class [closed]部分类继承基类[关闭]
【发布时间】:2019-02-23 02:33:40
【问题描述】:

我需要将类初始化文件中的 Inherits 语句更改为

继承 FileSystemWatcher

但我发现这会禁用

System.Windows.Forms.Form

我的文件中的引用,并为我提供缺少方法引用的调试错误。初始化文件也不接受

继承 FileSystemWatcher

声明。

我已尝试导入

System.Windows.Forms.Form

在初始化文件上,但这并不能解决文件中的引用问题。我发现了

System.Window.Forms.Form

必须在初始化文件的继承语句中。

在我看来有两个问题:主文件和初始化文件中的基类必须相同,初始化文件中必须使用 Windows Forms 命名空间才能对使用的方法进行有效引用在文件中。

如何克服这些障碍,以便在我的主类中使用 FileSystemWatcher 继承语句?

【问题讨论】:

  • 首先,“它不接受这个” 并不是一个充分的解释。您总是需要准确描述发生了什么。如果有错误消息,则提供用于诊断目的,因此,如果您希望我们诊断问题,逻辑要求您将该消息连同所有其他相关信息一起传递给我们。你如何最终获得这个部分课程将是相关信息。如果它是自动生成的,那么如何,因为更改自动生成类型的基类通常没有意义。简而言之,提供完整而清晰的解释。
  • 我的第一个猜测是您已经创建了一个表单。如果是这样,该类必须直接或间接继承Form。你不能继承两个基类,所以如果你想要一个表单的功能,那么继承 Form 以外的东西不是一个选项,除非新的基类也是一个表单。
  • 更新:问题已解决......在初始化代码页上导入了几个系统类,我不会在这里命名,但它们使我能够为 FileSystemWatcher 创建继承语句。
  • 所以听起来问题是您没有导入System.IO 命名空间。要成为这个社区的好公民,您应该更新您的问题,使其符合网站的标准,然后添加您自己的包含解决方案的答案。没有正确答案的模糊问题对其他人没有帮助,因此不应该被人看到。如果您不想花时间清理此线程以帮助其他人,您应该删除您的问题。
  • @jmcilhinney 虽然我解决了基类的问题,但在使用 Visual Studio 加载表单设计器时出错。我没有写下错误代码,但没有保存就关闭了我的解决方案,希望恢复到以前的保存。不幸的是,我丢失了数据,并且与我的表单相关的一些类丢失了......例如,我的表单现在甚至不支持 Load 方法(现在不支持的每个方法下面都有一条弯曲的红线)这包括主要方法,例如作为控件。你知道现在可能缺少什么吗?我可能需要为此发一个新帖子。

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


【解决方案1】:

通过导入相关的命名空间解决了这个问题。 jmcilhinney 建议它是 System.IO 命名空间。导入后,我就可以使用语句 Inherits FileSystemWatcher,这是我在使用的方法中引用类所需要的。另一个问题是基类的继承引用在主类和任何部分类中必须相同,否则 Visual Studio 将标记一个错误,指出基类不相同。

【讨论】:

  • 所以这个问题实际上与部分类或继承无关,纯粹归结为您必须指定您使用的每种类型的命名空间。在这种情况下,您可以使用 System.IO.FileSystemWatcher 而不管命名空间是否导入。因为System命名空间是默认导入的,你也可以使用IO.FileSystemWatcher。如果您在文件或项目级别导入 System.IO 命名空间,那么您可以使用不合格的类型名称。
  • 您可以在项目属性的“参考”页面上查看在项目范围内导入了哪些命名空间并导入更多。您始终可以在文件级别导入,但如果您计划在整个项目中广泛使用命名空间,我总是建议在项目级别导入。
  • 我不认为这是正确的 jmcilhinney。我收到的错误与分部类中使用的基类特别相关,该基类必须与您尝试在主代码页中继承的类相同。如您所说,您只能继承一个基类,因此部分类中的引用必须与主类中的引用相同。不过,我不熟悉项目属性的“参考”页面。我得查一下,看看能不能找到你说的地方。
  • 你真的应该删除整个线程。您的问题未提供相关详细信息,您的回答实际上并未解决您所指出的问题。很高兴你解决了你的问题,但这个帖子对其他人没有帮助。
  • 我不同意。我在最初的问题上发布的答案特别指出,为了继承所需的类,引用正确的命名空间很重要。我认为这很有帮助。如果您不喜欢该主题,请投反对票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多