Я не эксперт в C #, но после прочтения пары статей кажется, что вы пытаетесь использовать универсальные делегаты. Ваш метод обратного вызова не является универсальным делегатом, он даже не делегат.
Я думаю, это то, что вам нужно сделать:
C #
public class Class1
{
public static void MyMethod(Action<object> obj)
{
obj("Hey!");
}
}
public class Class2
{
public Action<object> CallBack = obj => Console.WriteLine(obj.ToString());
}
Powershell:
[Class1]::MyMethod([Class2]::Callback)