問題タブ [invoke]
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# - GUIアプリにC#MethodInvoker.Invoke()を使用しています...これは良いですか?
C#2.0とMethodInvokerデリゲートを使用して、GUIスレッドまたはワーカースレッドからイベントを受信するGUIアプリケーションがあります。
次のパターンを使用して、フォームでイベントを処理します。
このパターンを使用することで、実際のUIコードを複製しませんが、この方法が適切かどうかはわかりません。
特に、ライン
呼び出すために別のスレッドを使用しますか、それともGUIスレッドのメソッドへの直接呼び出しにいくらか変換されますか?
c# - 別のスレッドから呼び出す
信じられませんが、これは私の他のアプリケーションでは機能しますが、同様の構造を持つこのアプリケーションでは機能しません。
私がそれを呼ぶ方法:
TCP経由でパケットを受信する関数から呼び出すと(リストビューに入れたい)、何も起こりませんが、WinSockを初期化する同じクラスで呼び出すと、動作します。
問題はどこにあるのでしょうか?
編集: アプリケーションをデバッグしたところです。formz は呼び出した場所 (受信関数) で null です。なぜそれは null ですが、他の場所ではありませんか?
c# - アクションで呼び出す方法は?
私は常にフォームの修飾子をプライベートに設定していますが、内部もパブリックも好きではありません。
今まで、私はこのように呼び出していました:
しかし、フォームのすべてのメンバーにそのようなプロパティを追加することは、オブジェクト指向ではありません。
パラメータ(アクション)を呼び出す関数を作成したいです。最善を尽くしましたが、失敗しました-フォームメンバーがパブリックまたは内部である必要があります:(
私のコードの2つの問題:
変更したいプロパティを != private にする必要があります:(
フォームがフォーカスされていない場合は機能しません。
c# - GetConstructor.invokeエラー
これは研究プロジェクトです。3つのデータベースクラスA、B、Cがあります。作成するクラスのオブジェクトをコンストラクターを介して受け取るファクトリクラスがあります。3つのクラス[A、B、C]のそれぞれには、データベース接続オブジェクトを提供するパラメーターを持つコンストラクターがあります。これは、ファクトリクラスのcreateObjectメソッドで使用しているコードです。
上記の最後の行はこのエラーを示しています。
「タイプ'System.RuntimeType'のオブジェクトをタイプ'System.Data.Common.DbConnection'に変換できません。」
'System.RuntimeType'はどのようにしてここに到達しましたか?DBconnection型の変数を受け取るコンストラクターを持つクラスAのオブジェクトを作成しようとしています。
現在、クラスAのインスタンスのみを作成するためにファクトリクラスの命令を渡しています。これはクラスAのコードです。
私は何が間違っているのですか?
ありがとう。
php - PHP5で「invoke」スタイルのコールバックは可能ですか?
'array_map'などのPHP関数はコールバックを受け取ります。これは、単純な関数、クラスまたはオブジェクトメソッドのいずれかです。
また
しかし、反復内で現在のオブジェクトにバインドされているメソッドを渡すための構文はありますか(Prototype.jsの「invoke」など)?以下を使用できるように:
の効果で
明らかに、このフォームを使用することも、ラッパー関数を記述して呼び出しを行うことも、インラインで行うこともできます。しかし、「myMethod」はすでにメソッドであるため、これらのいずれかを実行する必要があるため、家の中を回っているようです。
.net - Windows Server 2003 で Web CGI スクリプトから .net アプリを実行すると、InteropServices COMException が発生する
免責事項: 私は .net と COM についてまったく無知です。
.net で記述されているように見えるベンダーのアプリケーションがあり、それを Web フォーム (cgi-bin Perl スクリプト) でラップして、最終的に別のコンピューターからこのベンダーのアプリを起動できるようにしようとしています。私は Windows Server 2003 R2 SE SP1 システムを使用しており、Web サーバーに Apache 2.2 を使用し、cgi スクリプトに ActivePerl 5.10.0.1004 を使用しています。私の cgi スクリプトは、Perl バックティック演算子を使用して、同じマシン上にあるベンダーのアプリを呼び出します。
現在、サーバー マシン上でローカルに IE Web ブラウザを実行し、「http://localhost/cgi-bin/myPerlScript.pl」にアクセスしています。ベンダーのアプリが失敗し、次のスタック トレースを含むデバッグ メッセージがログに記録されます (ベンダーの ID を漏らさないようにいくつかの名前を変更しました)。
サーバー マシンで Windows コマンド ラインからベンダー アプリを実行すると、cgi スクリプトが渡すのとまったく同じ引数を使用して問題なく実行されるため、問題を引き起こしている Web スクリプトを介してアプリを呼び出すことについて何かがあります。Windows XP Pro マシン (コマンド ラインと Web 呼び出しの両方) で全体が正常に動作するため、この問題はセキュリティに関連している可能性があります。そこで実際に Web スクリプトを開発し、Windows Server 2003 マシンに移動する前に完全に機能するようにしました。では、ベンダーの .net アプリが Web CGI スクリプトによって正常に実行されないようにする Windows Server 2003 マシンの違いは何でしょうか?
この問題を何らかの方法で修正してサーバーで動作させることはできますか? それとも、ベンダーが .net アプリを変更して新しいバージョンを出荷する必要がありますか? このベンダーのアプリを別のプログラムから実行しようとしているのはおそらく世界で私だけなので、自分のサーバー マシンに自分で実装できる回避策があれば、この問題でベンダーを悩ませたくありません。さらに、私はちょっと急いでいるので、ベンダーが修正を加えて新しいバージョンを展開するまで 4 ~ 6 か月も待ちたくありません。
あなたが与えることができるアドバイスをありがとう。
c# - MethodInfo によるメソッドの呼び出し
特定の属性を持つメソッドを呼び出したい。そのため、すべてのアセンブリとすべてのメソッドを循環して、自分の属性を持つメソッドを見つけています。正常に動作しますが、MethodInfo しか取得していないときに特定のメソッドを呼び出すにはどうすればよいですか。
問題は、その特定のメソッドを含むクラスのインスタンスがわからないことです。メソッドが静的ではないため、適切に呼び出すことができません。また、可能であれば、このクラスの新しいインスタンスを作成することも避けたいと考えています。