c# - 为什么一个结构不能从另一个结构派生?

标签 c# .net clr value-type

我对 .Net 和 CLR 角度的答案更感兴趣:

为什么一个结构不能是另一个结构的基类,反之亦然?

最佳答案

结构体在堆栈中占据固定大小的位置(或它们所在的任何位置)。

因此,您将无法对结构进行任何类型的多态性,因为派生的结构将具有不同的大小。

可以从其他结构继承成员,但由于您无法进行任何类型的多态性,因此不值得混淆。

关于c# - 为什么一个结构不能从另一个结构派生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526413/

相关文章:

c# - 使用由 google 的 protobuf 序列化的 protobuf-net 反序列化数据时出现问题

.net - Azure Service Fabric 和消息队列

c# - 如何按元素列表分组?

c# - 尝试编写一个令人愉快的解析器

c# - CLR AwareLock::OwnedByCurrentThread 中的访问冲突

c# - 有界类型变量 Java 与 C#

c# - 如何在 JavaScript 方法中获取 ASP.NET DataGrid 控件的选定行索引?

windows - .Net 4.0 Windows 应用程序在 Windows Server 2008 下的 clr.dll 中崩溃

c# - 为什么 Razor 不喜欢这个?

.net - 为什么我需要 Econo JIT?