この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 29284|答える: 1

[出典] C#代理(delegate、Action、Func、述語)への入門

[リンクをコピー]
掲載地 2018/04/09 14:57:15 | | |

デリゲートは、メソッドの種類を定義し、それが別のメソッドに引数として渡せるようにするクラスです。 イベントとは特別な委託です。

1. 委任状

(1) 代議員

        代表

   デリゲートはパラメータが少なくとも0で最大32個で、リターン値を持たず、リターンバリュー型を指定することはできません。

   例えば、パブリックデリゲート int MethodtDelegate(int x, int y); パラメータが2つあることを示し、int型を返します。

(2). アクション

       アクションはリターンバリューのないジェネリック代理です。

アクションはパラメータも戻り値もない代理を表します

Action<int,string>は、入力パラメータintを持ち、文字列の返り値がないデリゲートを示します

  Action<int,string,bool>は、戻り値のないパラメータint、string、boolの受入者を示すデレゲートを示します

       Action<int、int、int、int>とは、4つのint型パラメータが渡され、返り値が存在しないことを意味します

アクションはパラメータが少なくとも0で最大16個で、返り値はありません。

例:



(3). ファンク

Funcはリターン値を持つ一般的な代理です

Func<int>とはパラメータを持たない代理でint値を返すことを意味します

Func<object,string,int>は、インカムパラメータをオブジェクトとして使うデリゲートを表し、その文字列はint値を返します

Func<object,string,int>は、インカムパラメータをオブジェクトとして使うデリゲートを表し、その文字列はint値を返します

Func<T1,T2,,T3,int>は、入力パラメータT1、T2、、T3(一般的)を持つデリゲートでint値を返します

Funcはパラメータが少なくとも0で最大16個で、返却値のジェネリックに従って返されます。 返却価値があって、無効ではない


例:




(4)。述語

述語はブール型を返すジェネリック代理です

述語は、<int>インカメンション int が Bool を返す代理を表します

述語はパラメータが1つのみで、返却値はブールに固定されています。

例:







先の:rabbitMQ キューキューメッセージの永続性[ソースコード付き]
次に:ActiveMQおよびRabbitMQに関する情報概要
掲載地 2019/12/17 19:42:23 |
質問があります。 私はJSを書きすぎてしまい、コールバック関数に慣れてしまいました。

次にFuncをパラメータとして使いました。 そしてこのファンクは非同期で実行したいです。 もし答えが見つかれば、FuncをTask.Runに入れることができます
彼はすぐにスレッドIDを切り替えた。

Func<string,Task<string>>を使って関数を直接待つことができたのですが、スレッドIDを実際には切り替えていませんでした。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com