gpt4 book ai didi

c# - 当我执行沮丧时实际上发生了什么?

转载 作者:太空狗 更新时间:2023-10-30 00:19:13 25 4
gpt4 key购买 nike

这究竟是如何工作的?

如果我有这个基类

public class BaseClass
{
public int Value1 { get; set; }
public int Value2 { get; set; }

public BaseClass SimpleClone()
{
BaseClass result = new BaseClass();
result.Value1 = this.Value1;
result.Value2 = this.Value2;
return result;
}
}

还有这个子类

public class DerivedClass : BaseClass
{
public bool Value3 { get; set; }

public DerivedClass()
{
Value3 = true;
}
}

如何将 BaseCast.SimpleClone() 向下转换为 anotherObj? Value3 会怎样?虽然知道会发生什么是好事,但我也对为什么它以这种方式运作很感兴趣。

最佳答案

如果我理解正确,你的问题是当你执行以下操作时会发生什么

DerivedClass derived = (DerivedClass)baseObj.SimpleClone();

你试过吗?简单地说,它会导致 InvalidCastException,因为 BaseClass 不是 DerivedClass

我有answered a similar question here , 那应该把事情搞清楚了。

关于c# - 当我执行沮丧时实际上发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591100/

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