Использование Cmdlet, (и/или PSCmdlet), я могу создатьДать класс Powershell отозваны в PowerShell
[Cmdlet(VerbsCommunications.Read, "Blah", SupportsShouldProcess = true)]
public class BlahBlah : PSCmdlet
{
/// ...
}
Тогда, в PowerShell, я могу затем вызвать команду
import-module .\Blah.dll -Verbose
Read-Blah
...
И все, Это хорошо.
Но я хотел бы создать класс, а не функции таким образом я могу получить объект, а затем использовать его в PowerShell
Что-то вроде
import-module .\Blah.dll -Verbose
$myClass = New-Object Blah
$myClass.Read
$myClass.Save -File x.txt
$myClass.BlahBlah
...
Может выше быть сделано в C#? Если да, то как?
Хорошо, спасибо, но как создать сам класс? В примере, который я дал, создается только функция, а не класс. –
@SimonGoodman: Я не уверен, что понимаю, что вы просите ... когда вы говорите о «функции», вы имеете в виду ваш класс «BlahBlah» CmdLet, правильно? Если вы хотите создать класс в C#, вам просто нужно объявить открытый класс, который не наследуется от CmdLet. Отвечает ли это на ваш вопрос? –
Я имею в виду, когда я создаю функцию '' [Cmdlet (VerbsCommunications.Read, «Blah» ... »« Тогда я смогу использовать ее в powershell как «Read-Blah'», но теперь я хотел бы класс, который будет доступен, как в '' myClass = New-Object Blah'', или вы говорите, что он будет доступен для powershell до тех пор, пока он является общедоступным? –