Ich verwende Reflektion, um einige Eigenschaften zu erhalten, und ich habe Probleme, eine zu erhalten, wenn GetValue(item,null)
ein Objekt zurückgibt. ich getan habe:Eigenschaften mithilfe der Reflektion abrufen
foreach (var item in items)
{
item.GetType().GetProperty("Site").GetValue(item,null)
}
, das zu tun, habe ich ein Objekt System.Data.Entity.DynamicProxies.Site
. Wenn ich es debugge, kann ich alle Eigenschaften dieses Objekts sehen, aber ich kann es nicht bekommen. Zum Beispiel ist eine Eigenschaft: siteName
, wie kann ich den Wert davon bekommen?
Warum der 'null' Parameter? Würde [GetValue (Objekt o)] (https://msdn.microsoft.com/en-us/library/hh194385 (v = vs.110) .aspx) Überladung besser sein? – orhtej2
Um den Wert zu erhalten: Sie können einen weiteren Reflektionsaufruf für das zurückgegebene Objekt ausführen oder einfach den [dynamischen Typ] verwenden (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/using-type-dynamic), um die Arbeit für Sie zu erledigen. – orhtej2
Ich versuche mit einer anderen Reflexion, aber ich kann es nicht bekommen .. –