Wie überprüft man, ob ein Objekt Nullable ist?

Wie kann ich überprüfen, ob ein bestimmtes Objekt auf null gesetzt werden, in anderen Worten, wie die folgende Methode implementieren...

bool IsNullableValueType(object o)
{
    ...
}

EDIT: ich bin auf der Suche für nullable value types. Ich hatte keine ref-Arten in den Sinn.

//Note: This is just a sample. The code has been simplified 
//to fit in a post.

public class BoolContainer
{
    bool? myBool = true;
}

var bc = new BoolContainer();

const BindingFlags bindingFlags = BindingFlags.Public
                        | BindingFlags.NonPublic
                        | BindingFlags.Instance
                        ;


object obj;
object o = (object)bc;

foreach (var fieldInfo in o.GetType().GetFields(bindingFlags))
{
    obj = (object)fieldInfo.GetValue(o);
}

obj bezieht sich nun auf ein Objekt vom Typ bool (System.Boolean) mit dem Wert gleich true. Was ich wirklich wollte, war ein Objekt des Typs Nullable<bool>

So, jetzt als eine Arbeit um die ich beschlossen zu prüfen, ob o-null-Werte zulässt, und erstellen Sie eine nullable-wrapper obj.

InformationsquelleAutor der Frage Sandeep Datta | 2008-12-17

Schreibe einen Kommentar