In meinem C# -Code habe ich eine Klasse, die einige Daten speichert, die ich in einer Liste an meinen Python-Code übergeben möchte. Wenn ich jedoch versuche, auf Eigenschaften dieser Klasse innerhalb meines Python-Codes zuzugreifen, bekomme ich MissingMemberException
. Hier einige Beispiel-Code zu zeigen, was ich meine:Zugreifen auf C# -Klassenmitglieder in IronPython
C#:
class Event
{
public int EventId { get; set; }
public string EventName { get; set; }
}
//other processing here...
//this just fills the list with event objects
List<Event> eventList = GetEvents();
//this sets a variable in the ScriptScope
PythonEngine.SetVariable("events", eventList);
PythonEngine.Execute("eventParser.py");
eventParser.py:
for e in events:
print e.EventId, "/", e.EventName
Die MissingMemberException
sagt "Ereignis kein Mitglied enthält namens EventId"
I habe getestet, andere Typen an den Python übergeben, einschließlich Listen von primitiven Typen wie List<int>
und List<string>
und sie funktionieren gut.
Wie kann ich auf diese Klasseneigenschaften, EventId
und EventName
in meinem Python-Skript zugreifen?
Danke Jon, das hat den Job gemacht. – peacemaker