Учитывая этот сценарий IronPythonКак получить доступ к анонимному типу?
def SensorEvent(d):
print d
print d.Message
... как получить доступ свойства d
?
Первая строка метода SensorEvent успешно печатает
{Сообщение = бла blubb}
однако вторая строка вызывает исключение:
'<> f_anonymousType [ул] 'объект не имеет атрибута' Сообщение '
Объяснение
d
является экземпляром анонимного типа, представленного на Invoke из метода C#. Я ссылаюсь на это следующим образом:
public static async void ExecutePyFunc(string name, dynamic data)
{
try
{
var f = strategyScope.GetVariable<Action<object>>(name);
if (f != null)
{
await Task.Run(() => f((object)data));
}
}
catch (Exception x)
{
StaticLog("[Callback Exception] Fehler beim Ausführen einer Python Funktion: {0}", x.Message);
}
}
я вижу. Благодарю. Есть ли способ получить к нему доступ, как объект? –
Вы можете использовать python dict как объект. [См. Этот вопрос для методов.] (Http://stackoverflow.com/questions/1305532/convert-python-dict-to-object) – MrLeap
Похоже, что все они выполняют бросок в скрипте Python. Есть ли способ сделать это снаружи, то есть до вызова? Я бы хотел, чтобы код Python был как можно более чистым и простым. –