C# bestimmen Sie eine Nullable-Eigenschaft DateTime-Typ, wenn Sie mithilfe von reflektion
Ich habe eine Frage, wie, um zu bestimmen, die das Objekt Nullable-Eigenschaft Art.
ObjectA
mit einer Immobilie
DateTime? CreateDate;
wenn ich Durchlaufen es Eigenschaften wie der folgende code, wie kann ich überprüfen, ob eine Eigenschaft ist ein Nullable DateTime-Typ?
Dank
foreach (PropertyInfo pi in ObjectA.GetType().GetProperties())
{
//do the compare here
}
InformationsquelleAutor Eatdoku | 2009-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
eine andere Frage du... wie mache ich switch basierend auf dem Typ? muss ich fullname statt? oder sollte mit "If" - Anweisung statt? was ist der string FullName für eine Nullable DateTime-Typ? danke
Ich würde dringend empfehlen, Sie zu verwenden
if
, und vermeidenFullName
. Wenn Sie möchten, um zu sehenFullName
fürDateTime?
ist, dann einfach ausdruckentypeof(DateTime?).FullName
- aber es wird langwierig sein, wird Ihr code weniger lesbar, spröde sein (was ist, wenn Sie gelegentlich ein Zeichen löschen irgendwo???), und wird in Folge langsamer Vergleiche (Type
Objekte selbst sind im Vergleich von Referenz - d.h. es gibt höchstens eineType
Objekt für alle gegeben, also wenn die beiden Referenzen gleich sind, dann ist dies die gleiche Art; und ein solcher Vergleich ist schnell)habe es, vielen Dank für die Beratung.
InformationsquelleAutor Pavel Minaev
InformationsquelleAutor Manish Basantani
Versuchen:
InformationsquelleAutor Vinicius Grund