Как вызвать DLL C# с вводом пользовательского типа из PowershellC#

Место общения программистов C#
Ответить
Anonymous
 Как вызвать DLL C# с вводом пользовательского типа из Powershell

Сообщение Anonymous »

Предположим, у меня есть DLL C#, которая содержит класс AdditionLibrary, как показано ниже

Код: Выделить всё

namespace AdditionLibrary
{
public static class AdditionOperation
{
public static int Add(int a, int b)
{
return a + b;
}
public struct AddNumbers
{
public int a;
public int b;
}
public static int AddNum(AddNumbers addNum)
{
return addNum.a + addNum.b;
}
}
}
Я хочу вызвать методы Add и AddNum этого класса из PowerShell.
Я могу легко вызвать метод Add, поскольку он Тип данных POD (int), как показано ниже из powershell.

Код: Выделить всё

Add-Type -Path "AdditionLibrary.dll"
$result = [AdditionLibrary.AdditionOperation]::Add(100,200)
Как вызвать метод AddNum, для которого требуется специальный тип AddNumbers?
Можно ли это сделать без встраивания кода внутри powershell как показано ниже, и вызвать через выражение-вызова?

Код: Выделить всё

Add-Type -TypeDefinition $code -Language CSharp
Я не знаю, как создать экземпляр AddNumbers в PowerShell и передать его в качестве параметра в C# DLL.

Подробнее здесь: https://stackoverflow.com/questions/790 ... powershell
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»