我有一个由许多其他对象组成的对象!我正在尝试查找其中一个属性(枚举)的值,但找不到。
现在,通常如果我想检查一个对象是否为空,我可以做
if (object == null)
但这会导致相同的错误。
我试过
if (object.Equals(null)) and the same error.
我收到的错误消息是 objectName throw exception: System.NullReferenceException: Object reference not set to an instance of an object..
我正在尝试确定我的对象是否已实例化。现在,我可以将它放入 try catch,如果它出错,那么我知道它不是,但对我来说这感觉非常错误(尽管我可能别无选择)。
我遇到的另一个问题是这个项目不是我的,对每个人来说都是一个黑匣子,所以我不能对原始对象进行任何更改!这意味着,我所拥有的就是我所拥有的,一个可能会或可能不会被实例化的对象,我需要一种方式来表达。
除了try catch,我还有其他选择吗?
编辑
所以,对象是
public partial class SaveBundleResponse
{
SaveBundleResponseHeader header;
}
public partial class SaveBundleResponseHeader
{
private SaveBundleResponseHeaderStatus status;
}
public enum SaveBundleResponseHeaderStatus
{
Success, Fail, OK, OtherStates
}
所以 SaveBundleResponse 最初是创建的,然后实例通过“工作流”风格的环境传递,每个属性都变成“填充/更新”等,因为它深入到工作流中。但是,在少数情况下,从未设置枚举。
问题是,我需要知道枚举的值(或者它是否为空)。
我尝试使用的代码是
if (saveBundleResponse.Header.Status // what ever happens, it fails at this point as Status is not initiated.