問題タブ [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# - outパラメータを使用してジェネリックデリゲートを宣言する方法
Func<a, out b, bool>
、コンパイルしないでください。2番目のパラメーターを1にすることを宣言するにはどうすればよいout
ですか?
私はそれをこのように使いたい:
c# - ref変数を持つFuncデリゲート
このメソッドのFuncデリゲートを定義するにはどうすればよいですか?
c# - 一言で言えば、Func<>について何が言えるか
私はしばらくの間Func<>を使用してきましたが、(今のところ)それを回避することができました。しかし、今では永遠にかわすことができないようです。たとえば、Dynamic Linqを試しましたが、ほとんどすべてがFunc<>の観点からのものでした。私は自分の本の1つ(C#2008 / Deitel&Deitel)とMSDNも試しましたが、まだ入手できていません。それらはすべて主題にまっすぐジャンプします。
- Func <>について(簡単に)言えること
- その問題に取り掛かることができるいくつかのリンクをWebで入手できますか?
助けてくれてありがとう
c# - Func + 拡張メソッド + ラムダの C# のあいまいさ
私はこの記事を通して自分の道を歩もうとしてきました:
http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx
...そして、1ページ目の何かが私を不快にさせました。特に、私は Compose<>() 関数に頭を悩ませようとしていたので、自分用に例を書きました。次の 2 つの Func を考えてみましょう。
問題ない!この2つが何をするのかを理解するのは簡単です。
ここで、記事の例に従って、次のように、これらの関数を構成する汎用拡張メソッドを記述できます。
罰金。だから今、あなたは言うことができます:
そして、文字列「50%」を取得します
ここまでは順調ですね。
しかし、ここにはあいまいなことがあります。別の拡張メソッドを作成すると、次の 2 つの関数が作成されたとします。
ここが曖昧です。これら 2 つの関数の署名が重複していませんか? はい。これでもコンパイルできますか?はい。どっちが呼ばれる?2番目のもの(明らかに「間違った」結果が得られます)が呼び出されます。いずれかの関数をコメント アウトしても、コンパイルは実行されますが、異なる結果が得られます。
つまらないことのようですが、ここには私の感性を深く怒らせる何かがあり、指を置くことはできません. 拡張メソッドと関係がありますか?ラムダと関係がありますか?それとも、 Func<> を使用して戻り値の型をパラメーター化する方法と関係がありますか? わからない。
これはすべて仕様のどこかで対処されていると思いますが、これを見つけるためにGoogleが何をすべきかさえわかりません.
ヘルプ!
.net-3.5 - アクションを使用してこのコードをリファクタリングするにはどうすればよいですか?またはFunc代表者
サンプルプログラムがあり、特定の順序で3つのメソッドを実行する必要があります。そして、各メソッドを実行した後、エラー処理を行う必要があります。今、私はこれを通常の方法で行いましたが、このようなデリゲートを使用していません。
クラスProgram{publicstatic void Main(){
ご覧のとおり、このコードは非常に多くのtry catchループがあり、すべて同じことを行っているため、見苦しいように見えます...したがって、デリゲートを使用してこのコードをリファクタリングし、TryCatchをすべて1つのメソッドにまとめることができるようにすることにしました。きちんと見えるように。私はオンラインでいくつかの例を見ていましたが、これにActionまたはFuncのデリゲートを使用する必要があるかどうかを理解できませんでした。どちらも似ているように見えますが、これを実装する方法を明確に理解することはできません。どんな助けでもgr8lyに感謝します。私は.NET4.0を使用しているので、これにも匿名メソッドnラムダ式を使用できます
ありがとう
python - Web で生成された構成ファイルをサーバーに送信し、サービスを再起動する方法
複数のサーバーによって提供されるサービスを構成するための Web ベースのツールを作成しています。これには、インターフェイス構成、dhcp 構成などが含まれます。
適切な出力を生成するデータベースとビューに構成があり、それを送信/サーバーで使用できるようにする方法は?
scp経由で送信し、ssh経由でサービスにreloadコマンドを呼び出すことを考えています。Func を使用してすべての作業を行うことも考えています。これは Python ツールであり、Python ベースの (django) 構成ツールと統合されるように見えるためです。
他の提案はありますか?
.net - Func を取得できますか(または同様の) MethodInfo オブジェクトから?
一般的に言えば、リフレクションを使用するとパフォーマンスに影響があることを認識しています。(実際、私自身は反省のファンではありません。これは純粋に学術的な質問です。)
次のようなクラスが存在するとします。
ここで我慢してください。MyClass
呼び出された のインスタンスがあればx
、 を呼び出すことができることを知っていますx.GetName()
。さらに、Func<string>
変数を に設定できますx.GetName
。
ここで私の質問です。上記のクラスが呼び出されていることを知らないとしましょうMyClass
。あるオブジェクトを持っていますがx
、それが何であるかわかりません。GetName
これを行うことで、そのオブジェクトにメソッドがあるかどうかを確認できます。
nullgetName
ではないとします。getName.ReturnType == typeof(string)
次に、さらに ifとをチェックすることはできませんでしたか? この時点で、オブジェクトによって表されるメソッドが何らかの方法で , に確実にキャストできるgetName.GetParameters().Length == 0
と確信できませんか?getName
Func<string>
があることに気付きました。また、次のようなものをいつでも作成MethodInfo.Invoke
できることにも気付きました。Func<string>
私が求めているのは、オブジェクトからそれが表す実際のメソッドに移動し、 processでリフレクションのパフォーマンス コストが発生する方法があるかどうかだと思いますが、その後はメソッドを直接呼び出すことができます (たとえば、 aまたは類似のもの)パフォーマンスの低下なし。MethodInfo
Func<string>
私が想定しているのは、次のようなものです。
(私はそれが存在しないことを理解しています;私はそのようなものがあるかどうか疑問に思っています.)
c# - 述語とOrderBy、Func
述語はブール値を返し、汎用パラメーターを受け取る関数へのデリゲートであることを理解しています。私が言うとき、私はそれを理解しています。
それは実際には次のことを意味します:
このラムダ式を渡すときに渡すパラメーターは次のとおりです。
public delegate bool Criteria<T>(T value)
これはネイティブに述語と呼ばれます
しかし、私が理解していないのは、私が言うときそれが何を意味するのかということですmycustomer=>mycustomer.fullname
のcustomers.OrderBy(mycustomer=>mycustomer.fullname);
どうすれば次のようなものを実装できますOrderBy
か?どのプロパティに対してアクションを実行するかをメソッドに指示するにはどうすればよいですか?前の例のように?
例として、特定のプロパティのコレクションのすべての値を取得するメソッドを作成したい場合があります。
前もって感謝します。
linq - Func をパラメーターとして Generic を使用する
私のコードは単純です:
次のエラーが表示されます。
エラー 2 メソッド 'System.Linq.Enumerable.Average(System.Collections.Generic.IEnumerable, System.Func)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。
どうすればこれを修正できますか?