gpt4 book ai didi

c# - 从结构继承

转载 作者:可可西里 更新时间:2023-11-01 03:13:30 28 4
gpt4 key购买 nike

我想弄清楚我的代码有什么问题。我有这段代码:

public struct MyStructA
{
public MyStructA(string str)
{
myString= str;
}

public string myString;
}

public struct MyStructB: MyStructA
{
public string myReversString;
}

我得到这个错误:

Error at compile time: Type 'MyStructA' in interface list is not an interface

我不明白为什么? .net 不像类那样实现结构?

最佳答案

结构是隐式密封的

根据这个link :

C# 中的每个结构,无论是用户定义的还是在 .NET Framework 中定义的,都是密封的——这意味着您不能继承它。结构是密封的,因为它是一个值类型,并且所有值类型都是密封的。

结构可以实现接口(interface),因此可以在结构名称后的冒号后看到另一个类型名称。

在下面的示例中,当我们尝试定义一个继承自上面定义的结构的新结构时,我们会遇到编译时错误。

public struct PersonName
{
public PersonName(string first, string last)
{
First = first;
Last = last;
}

public string First;
public string Last;
}

// Error at compile time: Type 'PersonName' in interface list is not an interface
public struct AngryPersonName : PersonName
{
public string AngryNickname;
}

关于c# - 从结构继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408667/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com