“重载”在子类中如何工作?

2024-05-25

我有一个基类和一个子类,它们都有相同的属性,但我不明白whyVB 希望我对子类中的属性使用“重载”。区别在于该属性的子类版本是Shared而父类基本上是为了结构。这些属性如下所示:

Public MustInherit Class Parent
    Public ReadOnly Property Species As String
        Get
            Return "Should get species from a child." 
        End Get
    End Property
End Class

Public Class Child
    Inherits Parent
    Public Shared ReadOnly Property Species As String
        Get
            Return "Species1"
        End Get
    End Property
End Class

Species被标记在行中Public Shared ReadOnly Property Species As String在带有警告消息的子班中

属性“Species”隐藏在基类中声明的可重载成员 类“父级”。如果你想重载基方法,这个方法 必须声明“重载”。

我想知道的是why它想让这个超载吗?当不同的参数被传递到具有相同名称的函数时,通常会使用重载,这是有详细记录的,但我没有找到任何解释为什么在这种情况下突然建议重载的原因。

Note:无论是否有“过载”,代码都会正确报告“Species1”,或者不会增加我对它实际作用的困惑......


如果你想让底座超载method,此方法必须声明为“重载”。

错误消息太笼统。请注意它如何谈论method即使警告是关于财产的。您不能超载属性。

如果我是法国国王,我会写这样的错误消息:

属性“Species”隐藏从“Parent”基类继承的“Species”属性。如果打算隐藏,请使用 Shadows 关键字来抑制此警告。如果无意隐藏,请更改属性的名称。

此警告几乎永远不应该被忽略,因为它几乎总是识别出代码异味。使用SharedChild.Species 的关键字非常奇怪,几乎可以肯定不是您想要的。任何通过 Parent 类型的引用使用 Child 对象的代码总是会得到错误的物种名称,因为它将使用基本属性。这里更明智的做法是声明 Parent.Species 属性可重写并使用覆盖Child.Species 属性声明中的关键字,不带 Shared。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“重载”在子类中如何工作? 的相关文章

  • 当 InternalsVisibleToAttribute 不是一个选项时,如何使用反射对程序集中的内部(VB 中的 Friend)类进行单元测试?

    我有一个包含两个项目的解决方案 Company Project vbproj Company Project Tests vbproj 内Company Project vbproj集会 我有课FriendClass vb哪个范围是Frie
  • VB换行转义字符?

    在C中我使用 1st line 1 n2nd line 对于换行符 但是 VB 呢 我知道 1st line VbCrLf 2nd line 但它太冗长了 VB中换行符的转义字符是什么 我要打印 1st line 2nd line 我尝试使
  • JavaFX:使用常量字符串前缀绑定 StringProperty

    我对 JavaFX 中的绑定功能有疑问 我想要的是绑定 2 个字符串属性 但他们的价值观不应该是平等的 让我举个例子 我有一个 StringProperty 代表我的应用程序中最后打开的项目 该值类似于 C temp myProject p
  • 仅检索子类的属性[重复]

    这个问题在这里已经有答案了 我有一个像这样的课程 class parent public foo class child extends parent public lol public function getFields return
  • 在本地安全存储用于 Web 服务的密码

    我有一个应用程序 通过发送用户名和密码来对第三方 Web 服务进行身份验证 目前 我每次启动应用程序时都会在 winform 上输入密码 但我需要它自动登录 我想比更安全地存储用户名 密码 Dim username as String us
  • Vb.net 捕获 Ctrl+C

    I want to capture when someone uses CtrlC even when off focus im using Visual Basic 2010 好的 我为您提供了一个经过验证有效的解决方案 不过 您将需要一
  • 将 .NET P/Invoke 代码组织为 Win32 API 的最佳实践

    我正在 NET 中重构一个大型且复杂的代码库 该代码库大量使用 P Invoke to Win32 API 该项目的结构不是最好的 我发现 DllImport 语句遍布各处 经常为同一函数重复 并且还以多种方式声明 导入指令和方法有时声明为
  • 指向基类的成员指针

    全部 我不明白为什么下面的代码需要强制转换才能工作 有人可以解释一下吗 class Base class Derived public Base class Class public Derived member Derived obj B
  • 宏可以按参数数量重载吗?

    如何this https stackoverflow com q 9183993 153285工作 如何实现 C99 C 11 可变参数宏以仅根据为其提供多少个参数来扩展到不同的事物 编辑 请参阅末尾以获得现成的解决方案 要获得重载的宏 首
  • 带有自定义鉴别器的 EntityFramework Code First 继承

    我正在尝试在 EntityFramework Code First 中映射以下继承 public class Member public string ProjectName get set public string AssemblyNa
  • C# 中的类和基类继承

    我有一个 C 类 如下所示 public class BarChart public BarData BarChartData public BarStyle BarChartStyle public BarChart BarData da
  • 将属性标记中的值提交到操作表单

    The JSP
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何判断 NSObject 是否具有某个属性?

    假设在 Apple API 1 0 版中 有一个 NSFoo 类 其属性为 color API 1 1 添加了属性 size 我想知道是否可以使用 getter myFoo size myFoo respondsToSelector sel
  • 将 PDF 嵌入到 WPF 应用程序中

    我正在尝试在 WPF 应用程序中嵌入 显示 PDF 到目前为止 我已经尝试过这些解决方案 但没有成功 在 a 中显示 PDFWindowsFormsHost主持一个AxAcroPdf控制 类似于显示的内容here http hugeonio
  • C# 的最佳替代“错误继续下一步”是什么?

    如果我为 C 代码放置空的 catch 块 它是否与 VB NET 的 On Error Resume Next 语句等效 try C code catch exception 我问这个问题的原因是因为我必须将 VB NET 代码转换为 C
  • VB.NET 中的模块变量何时实例化?

    我想知道在程序的生命周期中 模块中的变量将被初始化 如下例所示 Module Helper Friend m Settings As New UserSettings Sub Foo End Sub Sub Bar End Sub End
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P

随机推荐

  • LLDB 在地址处中断

    我为这个可能微不足道的问题表示歉意 但我遇到了麻烦 因为谷歌一遍又一遍地给我相同的不适用的答案 我正在尝试在 LLDB 中设置断点 阅读文档后 我可以选择停止在源代码中的某一行或某个符号上 我想要做的是在某个内存位置设置断点 也不读取或写入
  • 当没有数据时,空 json 对象而不是 null -> 如何使用 gson 反序列化

    我正在尝试使用 Google 的 gson 库解析 json 数据 但 json 数据表现不佳 当一切正常时 它确实看起来像这样 parent child one some String child two 4711 child one应该
  • 使用 math.h 函数时 gdb 给出奇怪的输出[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gdb 将 sqrt 3 计算为 0 https stackoverflow com questions 5122570 why does gdb evaluate sqrt3 to 0 这里
  • 组合多个任意长度的列表

    我正在寻找一种通过以下方式加入多个列表的方法 ListA a b c ListB 1 2 3 4 ListC Resulting List a 1 b 2 c 3 4 换句话说 元素按顺序排列 从第一个列表开始组合到结果列表中 任意数量的输
  • kafka ProducerRecord 和 KeyedMessage 有什么区别

    我正在衡量卡夫卡生产者生产者的表现 目前我遇到了两个配置和用法略有不同的客户 Common def buildKafkaConfig hosts String port Int Properties val props new Proper
  • C++ 中如何检查指针是否仍然指向有效内存?

    我有一个指针等于另一个指针 我想检查我的指针是否等于不为空的指针 int ptr0 new int 5 int ptr1 ptr0 delete ptr0 if std cout lt lt ptr1 equals to a null pt
  • 模糊匹配两个字符串 ur r

    我有两个向量 每个向量都包含一系列字符串 例如 V1 c pen document folder warn V2 c pens copy folder warning 我需要找出哪两个最匹配 我直接使用编辑距离 但这还不够好 就我而言 钢笔
  • 如何使用语言服务器协议将 TS 解析为符号?

    我是这个主题的新手 所以我很可能弄错了一些关键术语 我想将打字稿文件解析为其组件符号 举一个我想象的非常粗略的例子 请参见下文 some ts file export function yell output string alert ou
  • 霸权继承——真的很糟糕吗?

    我是那些必须在 0 警告的情况下编译代码的人之一 通常我尊重编译器 如果它向我发出警告 我会将其视为我应该稍微修改我的代码的标志 如果我必须告诉编译器忽略给定的警告 我会有点抽搐 但这件事我似乎无法回避 而且据我所知 我没有做过任何 坏事
  • 端点路由.net core 3-多区域

    我正在尝试从 net core 2 2 路由迁移到 asp net core 3 中的端点路由 并在启动时使用以下路由 我的 net core 2 2 路线是 routes MapRoute name default template co
  • 为什么在 php 类中作为数组项的函数不起作用

    比如我有这样一段代码 效果很好 但是如果 A 不仅仅是一个变量 而且是一个类方法 那么这不起作用
  • Bootstrap 3 RC 1 准备好投入生产了吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我今天要开始一个巨大的项目 我选择 Zurb 基金会是因为他们 非常 良好的移动优先策略 当我几个月前开始四处寻找时 Bootstrap 3 还
  • 移动 sf 对象的经度

    我有一张国家地图 sf 对象 我想改变俄罗斯东部的经度 以便它不与俄罗斯其他地区隔离 看图片 https i stack imgur com NBjyK jpg 我找到了后端代码st shift longitude https github
  • 用 while 循环代替递归(爬楼梯难题):Python

    我正在练习用 while 循环替换递归 但我遇到了以下问题 如果你一次只能走 1 或 2 级楼梯 你有多少种方式登上长度为 n 的楼梯 递归解决方案非常简单 def stairs n if n lt 1 return 1 else retu
  • 如何从 C++ std::basic_ostream 派生并使 << 运算符虚拟?

    我正在编写一个具有各种消息输出的类 我想让这个类变得通用并且独立于平台 所以我正在考虑通过一个基本流引用它 它可以将所有消息转储到流中 通过这样做 如果该类在控制台程序中使用 我可以通过std cout并显示在控制台窗口中 或者我可以将派生
  • 如何强制 Maven 使用本地存储库而不是前往远程存储库来检索工件?

    我在 Mac Yosemite 上使用 Maven 3 3 3 和 Java 8 我有一个多模块项目
  • AutoCompleteTextView 不显示字典建议

    我有一个习惯AutoCompleteTextView用户可以在其中输入文本 每当用户写 时 我都会显示一个下拉菜单 其中包含自定义用户名的建议 不幸的是 我还需要在键盘上方显示字典单词建议 并且出于某种原因 AutoCompleteText
  • 在 Tensorflow 中使用迁移学习是否需要预定义图像大小?

    我打算使用预先训练的模型 例如fast rcnn resnet101 pets用于 Tensorflow 环境中的对象检测 如所述here https tensorflow object detection api tutorial rea
  • 如何从 glimmer 组件中获取父上下文?

    假设我在 glimmer 中有一个简单的组件 其中包含一个项目列表
  • “重载”在子类中如何工作?

    我有一个基类和一个子类 它们都有相同的属性 但我不明白whyVB 希望我对子类中的属性使用 重载 区别在于该属性的子类版本是Shared而父类基本上是为了结构 这些属性如下所示 Public MustInherit Class Parent