Action (または Func) プロパティのパラメータに最も簡潔にアクセスするにはどうすればよいですか?

kdbanman

スタックオーバーフローまたは MSDN でこの質問に対する答えが見つからなかったことに驚いています。私の検索スキルがここでのギャップだと強く疑っていますが、とにかく質問するつもりです。私はこれらの 3 つの 投稿をここstackoverflowで見ましたそれらのどれも私が尋ねていることに対する直接的な質問や回答ではありませんが、それらはいずれにせよ、それらから回答を収集したいと思っていたほど接線的に関連しています。しかし、運がない! とにかく、ここで質問です!


Action<int, int>プロパティを宣言するインターフェースを定義するとき

public interface ICoordinateProcessor {
    System.Action<int, int> onTwoIntegers { get; }
}

2 つの整数をパラメータとして取る null を返すラムダで簡単に実装できます。

public class RealCoordinateProcessor : ICoordinateProcessor {
    public override Action<int, int> onTwoIntegers {
        get {
            return (x, y) => this.someInternalState = x + y;
        }
    }
}

お手軽ピージー!しかし、roslyn を使用してインターフェイスをオートコンプリートすると、次のように入力されます。

public class RealCoordinateProcessor : ICoordinateProcessor {
    public override Action<int, int> onTwoIntegers => throw new NotImplementedException();
}

これはエラーや警告なしでコンパイルされ、また非常に簡潔な構文であり、これまでに見たことがないため、使用したいと考えています。上記の 2 番目のスニペットと同じ効果を得るには、より厳密な構文を使用するにはどうすればよいでしょうか。

または、3 番目のスニペットでラムダのパラメーターにアクセスするにはどうすればよいでしょうか。これを試すとき:

public override Action<int, int> onTwoIntegers (x, y) => throw new NotImplementedException();

私は明らかに何をやっているのかわからないので、コンパイラは異常に動きます。しかし、他に何を試すべきかわかりませんし、例を検索する方法もわかりません。

ユーザー4074041

これで、Roslyn を使用した C#6 では、式の本体関数メンバーを使用できます

public override Action<int,int> onTwoIntegers => (x,y) => { };

一般に、デリゲートラムダ構文とそれほど違いはありません。

var onTwoIntegersClass = new RealCoordinateProcessor().onTwoIntegers;
Action<int,int> onTwoIntegersVar = (x,y)=>{};
Delegate.Combine(onTwoIntegersVar, onTwoIntegersClass);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ローカル変数の代わりにループでFuncまたはActionを使用するにはどうすればよいですか?

分類Dev

DbContextクラスに存在するDbSet <>プロパティを、Controllerクラスに存在するActionメソッドのパラメーターとして使用するにはどうすればよいですか?

分類Dev

非同期メソッドをActionまたはFuncとして渡すにはどうすればよいですか

分類Dev

プロパティ 'payload'はタイプ 'TypedActionに存在しません。ngrxエフェクトからaction.payloadにアクセスするにはどうすればよいですか?

分類Dev

値タプルで使用するためにメソッドを `Action`または` Func`にキャストする必要があるのはなぜですか?

分類Dev

Javaが.NET Func <>およびAction <>デリゲートに最も近いものは何ですか?

分類Dev

非同期FuncまたはActionを委任して呼び出す方法

分類Dev

Func <>でオブジェクトのプロパティを更新するにはどうすればよいですか?

分類Dev

Action <>および/またはFunc <>のc#のtypedefと同等

分類Dev

メソッドにパラメーターとして渡されたFunc / Delegate / Expressionを評価するにはどうすればよいですか?

分類Dev

式ツリーを使用して、反映されたFunc <T、T>プロパティを呼び出すにはどうすればよいですか?

分類Dev

複数のパラメーターの関数でtensorflow.data.Dataset.flat_map(my_func)を使用するにはどうすればよいですか?

分類Dev

ReSharper [CanBeNull]および[NotNull]属性をActionまたはFunc引数に適用できますか?

分類Dev

クラスfuncの「outside」変数にすばやくアクセスするにはどうすればよいですか?

分類Dev

実行時にデリゲートをAction <T>またはFunc <T>にキャストする

分類Dev

整数パラメーターを受け入れるように、パラメーターなしでキャッシュミス検索Funcを変換するにはどうすればよいですか?

分類Dev

違いは何ですかrxjavaでFunc0とAction1を使用するのに適しています

分類Dev

Func <>のプロパティTargetはどのように設定されますか?

分類Dev

コンストラクターのプロパティにアクセスするにはどうすればよいですか?

分類Dev

ボタンライブで別のフォームのプロパティにアクセスするにはどうすればよいですか?

分類Dev

UIViewRepresentableに準拠するSwiftUIラッパーのプロパティにアクセスするにはどうすればよいですか?

分類Dev

ランダムリピーターの子のプロパティにアクセスするにはどうすればよいですか?

分類Dev

Url.Actionで複数のパラメーターを送信するにはどうすればよいですか?

分類Dev

C#で、ジェネリックパラメーターFunc <T、TResult>をパラメーターとして持つラムダを受け取る拡張メソッドを作成するにはどうすればよいですか。

分類Dev

HttpErrorResponseの特定のプロパティにアクセスするにはどうすればよいですか?

分類Dev

NodeJのビューでクラスのプロパティまたはカスタムメソッドにアクセスするにはどうすればよいですか?

分類Dev

composable内の@Composableプロパティにアクセスするにはどうすればよいですか?

分類Dev

PageObject要素のWatirプロパティにアクセスするにはどうすればよいですか?

分類Dev

Objectプロパティの名前にアクセスするにはどうすればよいですか?

Related 関連記事

  1. 1

    ローカル変数の代わりにループでFuncまたはActionを使用するにはどうすればよいですか?

  2. 2

    DbContextクラスに存在するDbSet <>プロパティを、Controllerクラスに存在するActionメソッドのパラメーターとして使用するにはどうすればよいですか?

  3. 3

    非同期メソッドをActionまたはFuncとして渡すにはどうすればよいですか

  4. 4

    プロパティ 'payload'はタイプ 'TypedActionに存在しません。ngrxエフェクトからaction.payloadにアクセスするにはどうすればよいですか?

  5. 5

    値タプルで使用するためにメソッドを `Action`または` Func`にキャストする必要があるのはなぜですか?

  6. 6

    Javaが.NET Func <>およびAction <>デリゲートに最も近いものは何ですか?

  7. 7

    非同期FuncまたはActionを委任して呼び出す方法

  8. 8

    Func <>でオブジェクトのプロパティを更新するにはどうすればよいですか?

  9. 9

    Action <>および/またはFunc <>のc#のtypedefと同等

  10. 10

    メソッドにパラメーターとして渡されたFunc / Delegate / Expressionを評価するにはどうすればよいですか?

  11. 11

    式ツリーを使用して、反映されたFunc <T、T>プロパティを呼び出すにはどうすればよいですか?

  12. 12

    複数のパラメーターの関数でtensorflow.data.Dataset.flat_map(my_func)を使用するにはどうすればよいですか?

  13. 13

    ReSharper [CanBeNull]および[NotNull]属性をActionまたはFunc引数に適用できますか?

  14. 14

    クラスfuncの「outside」変数にすばやくアクセスするにはどうすればよいですか?

  15. 15

    実行時にデリゲートをAction <T>またはFunc <T>にキャストする

  16. 16

    整数パラメーターを受け入れるように、パラメーターなしでキャッシュミス検索Funcを変換するにはどうすればよいですか?

  17. 17

    違いは何ですかrxjavaでFunc0とAction1を使用するのに適しています

  18. 18

    Func <>のプロパティTargetはどのように設定されますか?

  19. 19

    コンストラクターのプロパティにアクセスするにはどうすればよいですか?

  20. 20

    ボタンライブで別のフォームのプロパティにアクセスするにはどうすればよいですか?

  21. 21

    UIViewRepresentableに準拠するSwiftUIラッパーのプロパティにアクセスするにはどうすればよいですか?

  22. 22

    ランダムリピーターの子のプロパティにアクセスするにはどうすればよいですか?

  23. 23

    Url.Actionで複数のパラメーターを送信するにはどうすればよいですか?

  24. 24

    C#で、ジェネリックパラメーターFunc <T、TResult>をパラメーターとして持つラムダを受け取る拡張メソッドを作成するにはどうすればよいですか。

  25. 25

    HttpErrorResponseの特定のプロパティにアクセスするにはどうすればよいですか?

  26. 26

    NodeJのビューでクラスのプロパティまたはカスタムメソッドにアクセスするにはどうすればよいですか?

  27. 27

    composable内の@Composableプロパティにアクセスするにはどうすればよいですか?

  28. 28

    PageObject要素のWatirプロパティにアクセスするにはどうすればよいですか?

  29. 29

    Objectプロパティの名前にアクセスするにはどうすればよいですか?

ホットタグ

アーカイブ