Ich muss rekursiv alle DateTime
Eigenschaften eines Objekts erhalten.Wie rekursiv Eigenschaften eines Typs mit Reflektion erhalten?
Derzeit mache ich:
public static void GetDates(this object value)
{
var properties = value.GetType().GetProperties();
foreach (var property in properties)
{
if (property.GetType().IsClass)
{
property.SetDatesToUtc();
}
else
{
if (property.GetType() == typeof(DateTime))
{
//Do something...
}
}
}
}
jedoch property.GetType().IsClass
verwendet, ist nicht genug, um als auch Strings oder Datum Eigenschaften Klassen sind.
Gibt es eine Möglichkeit, Eigenschaften zu erhalten, die tatsächliche Klassen sind?
Wäre es besser, wenn ich den Klassen, die DateTime
Eigenschaften haben, eine Schnittstelle hinzufügen und dann überprüfen, ob diese Eigenschaft diese Schnittstelle implementiert?
Was ist der Zweck der ersten if-Anweisung? –
@ MathiasR.Jessen Die erste 'if'-Anweisung testet, ob die Eigenschaft ein Referenztyp ist. –