C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でデリゲートをインスタンス化する方法は?


newキーワードを使用して、デリゲートをインスタンス化します。デリゲートを作成するとき、新しい式に渡される引数はメソッド呼び出しと同様に記述されますが、メソッドへの引数はありません。

例-

public delegate void printString(string s);
printString ps1 = new printString(WriteToScreen);

匿名メソッドを使用してデリゲートをインスタンス化することもできます-

//declare
delegate void Del(string str);
Del d = delegate(string name) {
   Console.WriteLine("Notification received for: {0}", name);
};

デリゲートを宣言してインスタンス化する例を見てみましょう-

using System;

delegate int NumberChanger(int n);
namespace DelegateAppl {

   class TestDelegate {

      static int num = 10;
      public static int AddNum(int p) {
         num += p;
         return num;
      }
      public static int MultNum(int q) {
         num *= q;
         return num;
      }
      public static int getNum() {
         return num;
      }
      static void Main(string[] args) {
         //create delegate instances
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);

         //calling the methods using the delegate objects
         nc1(25);
         Console.WriteLine("Value of Num: {0}", getNum());
         nc2(5);
         Console.WriteLine("Value of Num: {0}", getNum());
         Console.ReadKey();
      }
   }
}

出力

Value of Num: 35
Value of Num: 175

  1. Windows 10 で起動時に Num Lock を有効にする方法

    Windows 10 の起動時または再起動時に Num Lock が有効にならない Microsoft Windows の非常に一般的な問題がユーザーから報告されています。主な問題は、起動時に Num Lock が自動的にオンにならないことです。これは、Windows ユーザーにとって非常に厄介な問題です。ありがたいことに、今日このガイドで説明するこの問題の解決策はほとんどありませんが、先に進む前に、この問題の主な原因を理解しましょう. 起動時に Num Lock が無効になっているのはなぜですか? この問題の主な原因は、起動時に Num Lock を無効にする Fast Start

  2. Windows 10 で Num Lock を有効または無効にする方法

    一部の Windows ユーザーは、コンピューターの起動時にキーボードの Num Lock 機能をデフォルトでオンの状態にしたいと考えています。このためには、ラップトップで Num Lock をオンにする方法を知っておくことが重要です。コントロール パネルとレジストリ エディターの助けを借りて、Windows 10 で Num Lock 機能を有効にすることができます。 一方、一部のユーザーは、システムの起動時に Num Lock 機能をオンの状態にしたくない場合があります。レジストリ設定と Powershell オプションを変更することで、システムの Num Lock 機能を有効または無効