問題タブ [func]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c#-4.0 - C# では、Func を使用して別のクラスからメソッドを渡すにはどうすればよいですか??
現在の状態に応じて、オブジェクトのリストから各オブジェクトで異なるメソッドを呼び出す必要があるステート マシンがあります。基本的には、ステート マシンの各ケース ステートメントにループがあるコードをリファクタリングしようとしています。以下のコードのようになります。ただし、関連するメソッドをリファクタリングされた関数に渡す方法を理解できないようです(言うまでもなく、各アイテムでそれを呼び出す方法がわかりません)
どんな助けでも大歓迎です。
コード例は次のとおりです。
ioc-container - 単純な Funq コンテナーのように C# で MEF パーツを構成する
Funqおよびおそらく他のほとんどの IoC コンテナーでは、これを行うだけでタイプを構成できます。
MEF をすばやく拡張 (または既存の MEF 機能を使用) して、属性を使用せずに同じことを行うにはどうすればよいでしょうか。
これが私ができると思った方法です:
この拡張メソッドを使用すると、次のようになりCompositionBatch
ます。
私が後で行う場合:
どちらのインスタンスも同じです。それらを異なるインスタンスに強制 (構成) するにはどうすればよいですか?
これがうまくいかない場合、MEF でこれを行うにはどうすればよいですか?
c# - このfuncコードスニペットを呼び出す方法は?
私はモナドに関するこの記事を見ています:
http://blogs.msdn.com/b/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx
VS2010のコピーでコードを書いていますが、次のコードの場合です。
これをどのように呼びますか?
また、記事には次のように記載されています。
関数合成は2つの関数を取り、2番目の関数の結果を最初の関数の入力に組み込むことで1つの関数を形成します。
これはパイプラインだけではありませんか?
コードサンプル:
コンパイルしません。
また、何
ありがとう
c# - 対応するデリゲートを作成する代わりに、常にActionとFuncを使用するのは悪い習慣ですか?
デリゲートを作成してデリゲートからイベントを作成する代わりに、他のクラスがサブスクライブできる単純なイベントをプログラムで作成する場合、デリゲートを作成する必要がないように、ActionまたはFuncのいずれかを使用してイベントを作成するだけです。
これを行うことの欠点はありますか?
c# - アクション/関数対メソッド、ポイントは何ですか?
Action
私は .NET でとを使用する方法を知っていますが、使いFunc
始めるたびに、代わりに呼び出す通常の古いメソッドを使用してまったく同じソリューションを実現できます。
これは、LINQ の など、私が制御できないものの引数としてAction
orが使用されている場合を除外します。 Func
.Where
基本的に私の質問は...なぜこれらが存在するのですか?単純なメソッドでは得られない、余分で新しいものは何ですか?
c# - c#で匿名関数のパラメータを決定する方法は?
次のコードを考えると、
Execute メソッドから、「methodParam」を調べて、無名関数本体内のパラメーターの数を抽出または決定することはできますか? たとえば、Execute メソッド内から someParam1 と someParam2 の値を決定することは可能ですか?
c# - Aspx で C# Lambda 関数を割り当てる
メソッドをプロパティとして公開したいカスタムコントロールがあります(例:カスタム検証用)。
次に、このカスタム コントロールを含むページで、デリゲートまたはラムダ exp を使用して、ページのOnPreInitイベントに割り当てることができます。
これは機能します。
ただし、次のように aspx でこれを行う方が便利だと思います。
しかし、これは次のメッセージでクラッシュします。
'ValidateMatrixFunc' プロパティの文字列表現 'ValidateMatrix' から、タイプ 'System.Func`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' のオブジェクトを作成できません。
だから、私はただ不思議に思っています...そして私は..忍者がこれに対する答えを知っているのだろうか.
c# - System.Linq.Enumerable.WhereListIteratorとSystem.Linq.Enumerable.WhereSelectListIteratorの違いは何ですか?
System.Linq.Enumerable.WhereListIteratorとSystem.Linq.Enumerable.WhereSelectListIteratorの違いは何ですか?
私が気付いた違いの 1 つは、タイプ WhereListIterator はコレクション オブジェクトの変更を反映しますが、WhereSelectListIterator は反映しないことです。
たとえば、より明確にします。
リポジトリからドメイン オブジェクトを取得するシナリオがあります
次に、ループ内で上記のコレクションから特定のバケットを選択します
次に、LooserTrafficDisributor オブジェクトのメソッド内のすべてのバケット オブジェクトの 1 つのプロパティを変更します。
LooserTrafficDisributor のコンストラクター
LooserTrafficDistributor内のdistributeメソッドは次のようになります
この後、IEnumerable updatedBuckets コレクション内に反映された変更を確認できます。
しかし、これを行うと、つまり、リポジトリからバケット コレクションをフェッチする代わりに、次のように、すべてのバケット オブジェクトを選択して更新します。
IEnumerable updatedBuckets コレクション内に反映された変更を取得できません。実際、DistributeTraffic メソッド内でデバッグを行ったにもかかわらず、各ループ ラウンド後に変更が反映されませんでした。
c# - StructureMap: コンストラクター内で名前付きインスタンスを取得する方法
主要:
パーサー:
構成ルート:
消費者:
次のリファクタリングされたConsumerを使用するにはどうすればよいですか?
c# - String func(SomeEnum) を Func にキャストできないのはなぜですか?
これは分散全体に関係していると思いますが、なぜこれが許可されていないのかよくわかりません。
方法があります
そして、私は次のようないくつかの異なる方法を持っています
こんな風に電話したい
しかし、私はこれらのエラーが発生します
「メソッドグループ」から変換
System.Func<System.Enum,string>
これができない理由は何ですか?メソッドをこのように複数のメソッドに書き直す必要は本当にあるのでしょうか?
それは本当に醜いです。
編集:
メソッドでこのようなことをしたい (実際のコードでは、enumType も Type として渡されることに注意してください)