gpt4 book ai didi

c# - 如何在 C# 中创建空对象

转载 作者:可可西里 更新时间:2023-11-01 08:00:51 25 4
gpt4 key购买 nike

Martin Fowler 的重构讨论了创建 Null 对象以避免大量

if (myObject == null)

测试。这样做的正确方法是什么?我的尝试违反了“构造函数中的虚拟成员调用”规则。这是我的尝试:

public class Animal
{
public virtual string Name { get; set; }
public virtual string Species { get; set; }
public virtual bool IsNull
{
get { return false; }
}
}

public sealed class NullAnimal : Animal
{
public override string Name
{
get{ return "NULL"; }
set { }
}
public override string Species
{
get { return "NULL"; }
set { }
}
public virtual bool IsNull
{
get { return true; }
}
}

最佳答案

查看 DbNull 等有趣概念所造成的痛苦程度,并考虑这是否真的是个好主意。

提示:如果您经常检查空引用,您可能应该重新考虑一下 API,以帮助排除靠近堆栈顶部的空对象。

Protip II:当出现意外的 null 时抛出异常实际上很好而且花花公子。如果在不应该为 null 的地方有 null,事情应该会很顺利。

关于c# - 如何在 C# 中创建空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1178399/

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