#.net #python #powershell #ironpython #cmdlets
#.net #python #powershell #ironpython #powershell-командлет
Вопрос:
Я хочу иметь возможность писать командлеты PowerShell с помощью IronPython, и, кроме того, мне нужен один командлет для просмотра среды и добавления командлетов в PowerShell на основе содержимого. Например, чтение каталога и добавление командлета Remove- для каждого имени файла, которое он там видит.
Комментарии:
1. Не могли бы вы более четко указать, что вы хотите добавить? Разве вы не можете сделать это на C #.
2. Я уверен, что могу сделать это на C #. Однако я не хочу этого делать. Я хочу сделать это в IronPython…
3. Вы не должны определять командлеты динамически подобным образом. Особенно для таких вещей, как отдельные файлы.
4. Да, да, я должен. Очевидно, что я не собираюсь на самом деле писать отдельную команду удаления для группы файлов — это был просто пример необходимой мне динамичности.
5. Когда вы уже знаете, как это сделать на C #, преобразовать это в IronPython не составит труда, поскольку у вас есть доступ к той же платформе. Я что-то здесь упускаю?
Ответ №1:
Насколько я знаю, это невозможно сделать!
Проблема здесь в том, что класс IronPython не является классом CLR или совместим с классом CLR. Класс CLR является статическим, а класс IronPython — динамическим, и DLR, насколько я знаю, например, не предоставляет классам IronPython атрибуты .net CLR, которые вам нужны для разработки командлета.
Комментарии:
1. на самом деле способ сделать это скрыт в последнем обновлении: ironpython.svn.codeplex.com/svn/IronPython_Main/Languages /…