csharp C#の委譲の例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp C#の委譲の例相关的知识,希望对你有一定的参考价值。

using System;

// 移譲の型宣言
delegate double MathAction(double num);

class Hoge
{
  // 2の乗算メッソド
  public double Double(double input)
  {
    return input * 2;
  }
}


class DelegateTest
{
  // 2の乗算メッソド
  static double Double(double input)
  {
    return input * 2;
  }

  static void Main()
  {
    // 自クラスの Double メソッドを ma1 に束縛
    MathAction ma1 = Double;
    double multByTwo = ma1(5);
    Console.WriteLine("muitByTow: {0}", multByTwo); // => 10 = 5 * 2

    // 無名メッソドを ma2 に束縛
    MathAction ma2 = delegate(double input)
    {
      return input * input;
    };
    double square = ma2(5);
    Console.WriteLine("Square: {0}", square); // => 25 = 5 * 5

    // ラムダ式を ma3 に束縛
    MathAction ma3 = s => s * s * s;
    double cube = ma3(5);
    Console.WriteLine("Cube: {0}", cube); // => 125 = 5 * 5 * 5

    // 他クラスの Double メッソドを ma4 に束縛
    var hoge = new Hoge();
    MathAction ma4 = hoge.Double;
    double multByTwoFromHoge = ma4(5); // => 10 = 5 * 2
    Console.WriteLine("multByTwoFromHoge: {0}", multByTwoFromHoge);
  }
}

以上是关于csharp C#の委譲の例的主要内容,如果未能解决你的问题,请参考以下文章

csharp async / awaitの例

csharp コルーチンの例

csharp interfaceの明示的実装の例(プレイヤーキャラクターのアニメーション切り替え)

python 偏微分の例

python 自动微分の例5

python 自动微分の例4