gpt4 book ai didi

c# - 为什么这种沮丧在 C# 中失败?

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:02 26 4
gpt4 key购买 nike

我有一个基类和派生类,如下所示

 public class BaseClass
{
public int No { set; get; }
}

public class Derived : BaseClass
{
public string Name { set; get; }
}

当我创建基类的实例并想将其向下转换为派生类时,它返回 InvalidCastOperation。

class Program
{
static void Main( string[] args )
{
BaseClass bas = new BaseClass();
Derived derived = (Derived)bas; // invalid cast operation. why?
System.Console.WriteLine();
}
}

我想知道为什么它不起作用?并且是实现此请求的解决方案?

最佳答案

这是因为您需要创建一个 Derived 的实例,如果您希望能够转换回它:

BaseClass bas = new Derived();

然后您将能够将 bas 实例(声明为 BaseClass 类型)转换为具体的 Derived 类的实例:

Derived derived = (Derived)bas;

关于c# - 为什么这种沮丧在 C# 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42413135/

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