Vérifier si l'objet instancié

J'ai un objet qui est fait de nombreux autres objets! Je suis essayant de trouver la valeur d'une des propriétés (enum) mais ne peut pas.

Maintenant, normalement, si je veux vérifier si un objet est null je peux faire

if (object == null) 

mais cette résultats dans la même erreur.

J'ai essayé

if (object.Equals(null)) and the same error.

Le message d'erreur que j'obtiens est objectName jeta de l'exception: System.NullReferenceException: la référence d'Objet n'est pas définie à une instance d'un objet..

Je suis en train de déterminer si mon objet est instancié ou pas. Maintenant, je peux coller ça dans un try catch, si des erreurs, puis je sais pas, mais pour moi, cela se sent très mal (même si j'ai pas le choix).

L'autre problème que j'ai est ce projet n'est pas la mienne, et est une boîte noire pour tout le monde et donc je ne peux pas apporter des modifications à l'objet d'origine! Cela signifie, tout ce que j'ai est ce que j'ai obtenu, d'un objet qui peut ou ne peut pas être instanciée, et j'ai besoin d'une façon de raconter.

Autre que le try catch, puis-je avoir d'autres options?

MODIFIER

Donc, l'objet est

public partial class SaveBundleResponse 
{
    SaveBundleResponseHeader header;
}

public partial class SaveBundleResponseHeader 
{      
        private SaveBundleResponseHeaderStatus status;
}

public enum SaveBundleResponseHeaderStatus 
{        
        Success, Fail, OK, OtherStates
}

De sorte que le SaveBundleResponse est créé au départ, l'instance est ensuite passé à travers un "workflow" style de l'environnement et de chaque propriété devient "peuplées/mis à jour", etc comme il va plus loin dans le flux de travail. Cependant, dans quelques cas, l'enum est jamais définie.

Le problème c'est que j'ai besoin de connaître la valeur de l'enum (ou si elle est nulle).

Le code, je suis en train d'utiliser est

        if (saveBundleResponse.Header.Status //what ever happens, it fails at this point as Status is not initiated.
Pouvez-vous fournir votre code réel? Où est enum?
if (myObject != null) est la bonne façon de vérifier si un objet est instatiated. Peut-être que vous appelez une méthode de l'objet, qui utilise un champ qui n'est pas instancié et donc de l'exception?
Il serait utile si vous pouviez au moins un prototype de l'objet conteneur vous rencontrez des problèmes avec, et, de préférence, les sous-objets qu'il contient. Actuellement, il existe un certain nombre de choses qui pourraient être à l'origine de ce problème.
Une énumération ne peut pas être null - c'est probablement header qui est null dans certains cas.
Soit saveBundleResponse ou .L'en-tête est null

OriginalL'auteur Dave | 2013-02-01