gpt4 book ai didi

java - C#重写函数如何返回null

转载 作者:行者123 更新时间:2023-12-01 12:25:30 26 4
gpt4 key购买 nike

所以我正在尝试实现一些继承,但遇到了问题。我来自java,所以我基本上是在尝试转换代码。例如,在 Java 中你可能有这个。

public class galaxyFactory extends abstractFactory
{
@Override
public galaxy setType()
{
return new Spiral();
}

@Override
SolarSystem setType()
{
return null;
}
}

如果您在一个星系之后,这将返回一个新的 Spiral 对象,并使用简单的返回 null 覆盖 SolarSystem setType。然而,当尝试将其转换为 c# 时,我想出了这样的东西。哪个不起作用,它会出错并显示“NullReferenceException was unhandled”

  class GalaxyFactory: AbstractFactory
{
public override Galaxy CreateProductA()
{
return new spiral();
}
public override SolarSystem CreateProductB()
{
return null;
}
}

我必须如何更改 return null 才能在 C# 中获得相同的效果?

最佳答案

发生此错误是因为您尝试使用未初始化的对象。当你使用 CreateProductB 获取 SolarSystem 时,实际上你得到的是 null 对象,然后当你尝试使用这个对象时,显然它会抛出 NullReferenceException。

关于java - C#重写函数如何返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375239/

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