Есть ли способ отразить класс IronPython для поиска его методов с C#? Я могу сделать это для IronRuby с помощью RubyClass и RubyMethodInfo. Существуют ли аналогичные классы для IronPython? Благодарю.Найти методы класса IronPython с C#
0
A
ответ
0
Если вы используете .NET 4 или выше, это легко, если вы просто дайте питона сделать это для вас:
static void Main(string[] args)
{
var script = @"
class TestObject:
def Member1(self):
pass
";
var setup = new ScriptRuntimeSetup();
setup.LanguageSetups.Add(Python.CreateLanguageSetup(null));
var runtime = new ScriptRuntime(setup);
var engine = runtime.GetEngineByTypeName(typeof(PythonContext).AssemblyQualifiedName);
var scope = engine.CreateScope();
engine.Execute(script, scope);
foreach (var member in GetMembers(engine, ((dynamic)scope).TestObject))
{
Console.WriteLine(member);
}
Console.ReadKey();
}
Убедитесь, чтобы настроить образец сценария блок комментария, чтобы установить отступ.
Тогда просто создать метод, который может сделать проверку для вас для любого объекта (Python или C#)
static dynamic GetMembers(ScriptEngine engine, dynamic obj)
{
var scope = engine.CreateScope();
scope.SetVariable("objectToInspect", obj);
return engine.Execute("def i(obj): l = dir(obj); l.sort(); return l;\ni(objectToInspect)", scope);
}
Печатается:
Member1
__doc__
__module__
Смежные вопросы
- 1. IronPython - Разоблачение методы, использующие отражение
- 2. C#, IronPython - import (?) Из нестатического класса
- 3. вызова перегруженные методы из IronPython
- 4. Доступ к членам класса C# в IronPython
- 5. Visual C# - методы класса?
- 6. Как переопределить свойства и методы C# в IronPython?
- 7. C++ методы многопоточности класса
- 8. класса методы в C#
- 9. Может ли IronPython динамически добавлять методы в класс C#?
- 10. Проблема с IronPython для создания экземпляра класса в консоли IronPython
- 11. Как C++ распределяет методы класса
- 12. C++ \ Пример кода интеграции с IronPython?
- 13. Видимость класса статической программы IronPython
- 14. Activator.CreateInstance для создания класса Ironpython
- 15. IronPython C# linkage
- 16. Как вывести перегруженные методы встроенному интерпретатору IronPython?
- 17. Невозможно использовать собственные методы расширения с помощью IronPython
- 18. Объявить методы C++ вне класса?
- 19. Методы класса С ++
- 20. Указатели на методы класса C++
- 21. Конструкторы и методы класса C++
- 22. Взаимодействие C# с IronPython - получение возвращаемых значений
- 23. IronPython для модульного тестирования с Studios IronPython
- 24. Проблема с использованием класса .net в ironpython
- 25. Объективные методы класса C против функций C
- 26. Найти методы конкретного класса, соответствующие аннотации
- 27. Найти класс, вызывающий методы внутри класса
- 28. Проблемы с подклассами, наследующими методы класса класса (Objective-C)
- 29. Выполнение IronPython в C#
- 30. Методы класса с массивами ...?