<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 委托(C# 參考) 委托類型的聲明與方法簽名相似,有一個返回值和任意數目任意類型的參數: ``` public delegate void TestDelegate(string message); public delegate int TestDelegate(MyType m, long num); ``` **delegate** 是一種可用于封裝命名或匿名方法的引用類型。委托類似于 C++ 中的函數指針;但是,委托是類型安全和可靠的。有關委托的應用,請參見[委托](https://msdn.microsoft.com/zh-CN/library/ms173171.aspx)和[泛型委托](https://msdn.microsoft.com/zh-CN/library/sx2bwtw7.aspx)。 ## 備注 委托是[事件](https://msdn.microsoft.com/zh-CN/library/awbftdfh.aspx)的基礎。 通過將委托與命名方法或匿名方法關聯,可以實例化委托。有關更多信息,請參見[命名方法](https://msdn.microsoft.com/zh-CN/library/98dc08ac.aspx)和[匿名方法](https://msdn.microsoft.com/zh-CN/library/0yw3tz5k.aspx)。 必須使用具有兼容返回類型和輸入參數的方法或 lambda 表達式實例化委托。有關方法簽名中允許的差異程度的更多信息,請參見[委托中的變體(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-CN/library/dd233060.aspx)。為了與匿名方法一起使用,委托和與之關聯的代碼必須一起聲明。本節討論這兩種實例化委托的方法。 ``` // Declare delegate -- defines required signature: delegate double MathAction(double num); class DelegateTest { // Regular method that matches signature: static double Double(double input) { return input * 2; } static void Main() { // Instantiate delegate with named method: MathAction ma = Double; // Invoke delegate ma: double multByTwo = ma(4.5); Console.WriteLine("multByTwo: {0}", multByTwo); // Instantiate delegate with anonymous method: MathAction ma2 = delegate(double input) { return input * input; }; double square = ma2(5); Console.WriteLine("square: {0}", square); // Instantiate delegate with lambda expression MathAction ma3 = s => s * s * s; double cube = ma3(4.375); Console.WriteLine("cube: {0}", cube); } // Output: // multByTwo: 9 // square: 25 // cube: 83.740234375 } ``` ## C# 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 ## 請參閱 [C# 參考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 關鍵字](https://msdn.microsoft.com/zh-CN/library/x53a06bb.aspx) [引用類型(C# 參考)](https://msdn.microsoft.com/zh-CN/library/490f96s2.aspx) [委托(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173171.aspx) [事件(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/awbftdfh.aspx) [帶有命名方法的委托與帶有匿名方法的委托(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/98dc08ac.aspx) [匿名方法(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/0yw3tz5k.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看