dotnet 不支持多重继承。但多接口支持吗? [复制]

2023-12-11

可能的重复:
C# 中的多重继承

dotnet 不支持多重继承。但多种接口支持。为什么会存在这种行为。 有具体原因吗??


您可以使用接口模拟多重继承。如果允许类的多重继承,则会导致钻石问题.
由于不支持多重继承的原因,我建议您阅读为什么C#不支持多重继承?

不同的语言实际上有 对 MI 的不同期望 作品。例如,冲突是如何发生的 已解决以及是否重复碱基 合并或冗余。在我们可以之前 在CLR中实现MI,我们要做的 对所有语言的调查,图 找出共同的概念,并决定 如何将它们表达为 语言中立的方式。我们也会 必须决定 MI 是否属于 CLS 及其意味着什么 不需要这个概念的语言 (例如,大概是 VB.NET)。的 当然,这就是我们的业务 作为公共语言运行时,但我们 还没时间为 MI 做这件事 然而。

真正存在 MI 的地方数量 适当的其实很小。 在很多情况下,需要多个接口 继承可以完成工作 反而。在其他情况下,您可能会 能够使用封装和 代表团。如果我们要添加一个 构造略有不同,例如 mixins,那实际上会更多吗 强大的?

多重实现继承 注入了很多复杂性 执行。这种复杂性 影响选角、布局、调度、 现场访问、序列化、身份 比较、可验证性、 反射、泛型以及可能 还有很多其他地方。

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

dotnet 不支持多重继承。但多接口支持吗? [复制] 的相关文章

随机推荐

  • 嵌套 if 在 php 中不起作用要么不执行任何操作,要么转到代码末尾

    几个小时以来 我一直对这段代码感到沮丧 我只能低头寻求一些帮助 我试图让这些嵌套的 if 工作 但它要么不返回任何内容并且我没有收到任何错误 要么它会到达编码的末尾 它应该事先停止 这些输入均来自组单选按钮 其顺序的原因是 一旦到达正在调用
  • 访问 Vue JS 实例监视对象中的 $refs 数组

    我正在构建一个Vue JSSPA 还有Vuetify 数据表在 v app 内部 我试图在里面设置一个变量观察对象为了FilteredItems 计算属性在数据表内 但我不确定如何访问 refs数组实例内部 我知道可以通过以下方式在实例中访
  • 浮点数的精度

    Python 中的浮点数的精度是多少 它总是双精度还是特定于实现或平台 例如 CPython 和 PyPy 有何不同 From Python文档 浮点数通常使用以下方式实现C 中的双倍 有关的信息精确和内部代表 程序所在机器的浮点数 运行可
  • 捕获已达到 set_time_limit() - PHP [重复]

    这个问题在这里已经有答案了 可能的重复 如何捕获致命错误 PHP 超出最大执行时间 30 秒 我用过set time limit 60 之前很多次 但是 当超过这个值时 是否还有捕获 目前它只是以同样的旧错误进行轰炸 我想捕获它失败然后用我
  • 如何为特定部分固定配方蛋的版本

    我在构建中添加了一个部分来安装 python ldap 如下所述 http bluedynamics com articles jens python ldap as egg with buildout 然而我的构建失败了 While In
  • Service Fabric 中的应用程序洞察?

    我需要在我正在开发的 Azure Service Fabric 应用程序中添加性能日志记录 我尝试遵循以下指南 该指南看起来非常简单明了 https github com Microsoft azure content blob maste
  • 查询嵌套表

    我正在尝试查询NESTED TABLE using PL SQL 几个消息来源告诉我这是可能的 但我不断收到错误消息 ORA 21700 对象不存在或已标记为删除 我不明白为什么它不让我这样做 我已经确定dados变量中有内容 我输出它 c
  • Java比较字符串与正则表达式 - while循环

    我希望用户输入一个字符串 如果该字符串与我的正则表达式不匹配 那么我希望输出一条消息 并且用户再次输入一个值 问题是 即使字符串与正则表达式匹配 它也会将其视为不匹配 我的正则表达式 这应该等于 Name Name A Z a zA Z s
  • 单击复选框数据动态保存到数据库

    当我选中复选框时 我需要一些 js ajax jquery 脚本将数据动态保存到数据库 此时的复选框或加载到记录旁边 并根据是否选中来更改数据库中的变量 但是在我选择一个将其保存到数据库后 我必须重新加载页面 我可以做其他所有事情 但了解如
  • 如何在 React JSX 中使用“< >”

    如何在 React 中使用 作为文本 我想将它用于我的投资组合 你需要使用HTML 实体 HTML 中的保留字符必须替换为字符实体 Result Description Entity Name Entity Number lt less t
  • Kivy:如何将复选框设置为在启动时选中

    如何将 id 设置为蓝色的复选框的状态设置为在启动时检查 我使用 python 3 6 和 Kivy 1 9 2 dev0 我以为线条blue ObjectProperty True in py and value root blue in
  • jQuery 滑块范围:将范围应用为表行的过滤器

    在我的实习中 我必须为表格创建一个过滤器 该过滤器必须仅显示您给定的值之间的行 我使用 jQuery UIrange slider我有一个普通的 HTML 表格 我无法让它工作 我尝试了很多不同的事情 这是我的代码 function sli
  • 在饼图中显示附加值

    我有这个饼图数据的示例 import javafx application Application import javafx collections FXCollections import javafx collections Obse
  • 表单视觉隐藏字段和所需验证使用

    我有一个带有隐藏字段的 HTML5 Bootstrap 表单 style display none 我通过 jQuery 显示 隐藏 show hide 对于字段验证 我使用属性required 我希望所有隐藏字段均按要求显示 但当其中一些
  • PHP将抄送插入邮件功能[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 邮件 抄送字段 我正在使用以下 php 发送电子邮件 我需要将抄送添加到我的电子邮件中 当我尝试插入标头时 html 消息显示原始 html 处理抄送的最佳方式是什么 Thanks heade
  • TS(2352) 声明具有动态属性的对象和一个具有特定类型的属性

    我需要创建一个对象 该对象将包含一个名为 state 的属性 该属性将具有通用类型 所有其他属性将是具有覆盖上下文的函数 我不确定这是否可能 因此我决定写在这里 我有一个代码 declare interface ContextModule
  • MySQL 连接运算符

    我不知道 MySQL 的连接运算符 我已经尝试过这段代码用于串联 SELECT vend name vend country FROM Vendors ORDER BY vend name 但这没有用 我应该使用哪个运算符来连接字符串 是
  • golang json 和接口切片

    我在迭代包含接口切片的接口切片时遇到问题 此问题是在尝试使用返回 JSON 数据的 API 调用时出现的 返回的数据相当多 并且结构根据请求的不同而有很大差异 API 文档中也没有 JSON 响应的结构 因此我尝试实现一些处理任意 JSON
  • 如何后台加载sapui5资源

    在我们的应用程序中 我们加载了许多 SAPUI5 库 index html 有以下代码来加载 SAPUI5 资源 在我们的 web xml 中我们已经提到https sapui5 hana on
  • dotnet 不支持多重继承。但多接口支持吗? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的多重继承 dotnet 不支持多重继承 但多种接口支持 为什么会存在这种行为 有具体原因吗 您可以使用接口模拟多重继承 如果允许类的多重继承 则会导致钻石问题 由于不支持多重继承的原因 我建议