• <bdo id='PXjgT'></bdo><ul id='PXjgT'></ul>
    <tfoot id='PXjgT'></tfoot>

  • <small id='PXjgT'></small><noframes id='PXjgT'>

      1. <i id='PXjgT'><tr id='PXjgT'><dt id='PXjgT'><q id='PXjgT'><span id='PXjgT'><b id='PXjgT'><form id='PXjgT'><ins id='PXjgT'></ins><ul id='PXjgT'></ul><sub id='PXjgT'></sub></form><legend id='PXjgT'></legend><bdo id='PXjgT'><pre id='PXjgT'><center id='PXjgT'></center></pre></bdo></b><th id='PXjgT'></th></span></q></dt></tr></i><div id='PXjgT'><tfoot id='PXjgT'></tfoot><dl id='PXjgT'><fieldset id='PXjgT'></fieldset></dl></div>

      2. <legend id='PXjgT'><style id='PXjgT'><dir id='PXjgT'><q id='PXjgT'></q></dir></style></legend>

        提供 .NET 方法作为委托回调

        时间:2023-11-10
        • <i id='tKuwS'><tr id='tKuwS'><dt id='tKuwS'><q id='tKuwS'><span id='tKuwS'><b id='tKuwS'><form id='tKuwS'><ins id='tKuwS'></ins><ul id='tKuwS'></ul><sub id='tKuwS'></sub></form><legend id='tKuwS'></legend><bdo id='tKuwS'><pre id='tKuwS'><center id='tKuwS'></center></pre></bdo></b><th id='tKuwS'></th></span></q></dt></tr></i><div id='tKuwS'><tfoot id='tKuwS'></tfoot><dl id='tKuwS'><fieldset id='tKuwS'></fieldset></dl></div>
          <legend id='tKuwS'><style id='tKuwS'><dir id='tKuwS'><q id='tKuwS'></q></dir></style></legend>

          <small id='tKuwS'></small><noframes id='tKuwS'>

                <bdo id='tKuwS'></bdo><ul id='tKuwS'></ul>
                1. <tfoot id='tKuwS'></tfoot>

                    <tbody id='tKuwS'></tbody>
                  本文介绍了提供 .NET 方法作为委托回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在 PowerShell 中将 .NET 方法作为委托回调传递给 .NET 对象的语法是什么.

                  What is the syntax to pass .NET method as a delegate callback to a .NET object in PowerShell.

                  例如:

                  C#:

                  public class Class1
                  {
                      public static void MyMethod(Action<object> obj)
                      {
                           obj("Hey!");
                      }
                  }
                  
                  public class Class2
                  {
                      public static void Callback(object obj)
                      {
                           Console.Writeline(obj.ToString());
                      }
                  }
                  

                  PowerShell:

                  PowerShell:

                  [Class1]::MyMethod([Class2]::Callback)
                  

                  这不起作用.

                  推荐答案

                  通过 Adam 和 Oisin 聊天的工作代码.

                  Working code via Adam's and Oisin's chat.

                  Add-Type -Language CSharpVersion3 -TypeDefinition @"
                  using System;
                  
                  public class Class1
                  {
                      public static void MyMethod(Action<object> obj)
                      {
                           obj("Hey!");
                      }
                  }
                  
                  public class Class2
                  {
                      public static void Callback(object obj)
                      {
                           Console.WriteLine(obj.ToString());
                      }
                  }
                  "@
                  
                  $method   = [Class2].GetMethod("Callback") 
                  $delegate = [System.Delegate]::CreateDelegate([System.Action[Object]], $null, $method)
                  
                  [Class1]::MyMethod($delegate)
                  

                  这篇关于提供 .NET 方法作为委托回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:使用匿名委托时如何退出 List&lt;string&gt;.ForEach 循环? 下一篇:编译器为委托关键字生成的密封类包含虚方法

                  相关文章

                    <i id='45MnL'><tr id='45MnL'><dt id='45MnL'><q id='45MnL'><span id='45MnL'><b id='45MnL'><form id='45MnL'><ins id='45MnL'></ins><ul id='45MnL'></ul><sub id='45MnL'></sub></form><legend id='45MnL'></legend><bdo id='45MnL'><pre id='45MnL'><center id='45MnL'></center></pre></bdo></b><th id='45MnL'></th></span></q></dt></tr></i><div id='45MnL'><tfoot id='45MnL'></tfoot><dl id='45MnL'><fieldset id='45MnL'></fieldset></dl></div>
                  1. <tfoot id='45MnL'></tfoot>
                      <bdo id='45MnL'></bdo><ul id='45MnL'></ul>
                  2. <small id='45MnL'></small><noframes id='45MnL'>

                    1. <legend id='45MnL'><style id='45MnL'><dir id='45MnL'><q id='45MnL'></q></dir></style></legend>