ich eine wirklich große Sammlung von POCO müssen stringfy Objekte mit mehreren Unter Eigenschaften, die ich verspotten müssen ...Wie ein POCO Objekt
Während Schnell Uhr verwenden, sehe ich die Einheit, wie ich es wollte werden ...
Was ich suche ist sozusagen eine Erweiterung Verfahren oder ein Weg, es stringfy so dass ich zu meiner Einheit Test gehen und verspotten ihn dort ... Art:
var myPoco = new Poco {
//here goes whatever i get from my magic method
};
Kann ich alle Eigenschaftennamen und -werte eines bestimmten Objekts so anordnen, dass es zuweisbar ist?
EDIT 1:
Ich bin auf der Suche nach so etwas wie:
public static string StringFy(this object obj, string prefix)
{
string result = "";
obj.GetType().GetProperties().ToList().ForEach(i =>
{
result += prefix + "." + i.Name + " = ";
if (i.PropertyType == typeof(string))
{
result += "\"" + i.GetValue(obj) + "\";\r\n";
}
else
if (i.PropertyType == typeof(Guid))
{
result += "new Guid(\"" + i.GetValue(obj) + "\");\r\n";
}
else
{
var objAux = i.GetValue(obj);
result += (objAux == null ? "null" : objAux) + ";\r\n";
}
});
return result.Replace(" = True;", " = true;").Replace(" = False;", " = false;");
}
Ich habe das noch nie wirklich getan, also werde ich es als Kommentar hinterlassen, anstatt eine Antwort, aber ich denke, Sie könnten einen Indexer auf Ihrer Klasse erstellen, die Reflexion verwendet Eigenschaften über Zeichenfolge zu setzen Wert des Eigenschaftsnamens. Suchen Sie nach Reflektionen, um Werte nach Eigenschaftsnamen zu setzen, und suchen Sie nach Indexern, wenn Sie nicht mit dem, was ich dort rede, vertraut sind. – Jakotheshadows