問題タブ [late-binding]
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.
design-patterns - 「レイト バインディング」と「制御の反転」の関係は?
Alan Kay は、OOPの定義の中で、「すべてのものの極端な遅延バインディング」を支持していると指摘しています。レイト バインディングに対する彼の関心は、人々の IC に対する関心と同じ動機を共有しているのでしょうか?
特に、どちらも「指定はできるだけ少なく、実装の詳細は後で記入する」というコンセプトによって動機付けられていると言うのが正しいでしょうか?
oop - モンキーパッチ/クラスの再開は本当にリフレクションの例ですか?
この質問の再帰的な性質についてはお詫びしますが、SOに関する質問に対して選択された回答により、反射の理解に疑問が生じました。
リフレクションは主に、プログラムの実行中に内部で起こっていることを照会することだと思っていました。このレスポンスに示されている例は、Ruby の組み込み Integer クラスにパッチを当てています。
- これは、実行時の変更というよりも、関数のオーバーロード/継承に似ていませんか?
- クラスの再開は本当に反省の例ですか?
.net - Createinstance() - 私はこれを正しく行っていますか?
.NET を使用してプラグイン システムを作成しようとしていますが、それが正しく行われているかどうかわかりません。システムの基本は、特定のディレクトリ ({apppath}/Plugins/) にプリコンパイル済みの DLL が多数あることです。特定の基本クラスを継承している場合は、リフレクションを使用してそれぞれを調べ、利用可能なすべてのクラスを調べたいと考えています。 (これはさらに別の DLL で定義されていますが、後で説明します)、そのインスタンスを作成し、そのインスタンスで特定の関数を呼び出します。
私が抱えている特定の問題は、これが正しい方法かどうかわからないということです。A.Plugin()
実際に存在し、ここで参照されている構造とクラスにバグがないと仮定できる場合、私がやろうとしている方法は機能しますか? 誰かが助けるためにさらにコードが必要な場合は、投稿できます。
vb.net - COM オブジェクトで事前バインディングを使用する
非常にうまく機能し、ユーザーのスタートメニューへのパスを提供する次のコードがあります。
これは明らかに遅延バインディングを使用します。ここで、これを C# または VB.NET の厳密モードで実行したいとします。どちらも遅延バインディングを使用したこの種の構文をサポートしていません。
これは可能ですか?どのように?
助けてくれてありがとう!
vb.net - 遅延バインディングを使用して ByRef パラメーターでメソッドを呼び出す方法
VB.NET から遅延バインディングを使用して呼び出したい COM コンポーネントがあります (面倒な Primary Interop Assembly - PIA メソッドを使用)。
COM メソッドの IDL 署名は次のようになります。
したがって、VB.NET 用語では 2 つの「ByRef」パラメーターと戻り値です。
私はこのメソッドを次のように呼び出そうとします:
これは例外で見事に失敗します: {"Invalid callee. (Exception from HRESULT: 0x80020010 (DISP_E_BADCALLEE))"}
これは、parameterMods 配列で何か間違ったことをしていることを意味すると思います。ParameterMods配列の値を「True」に設定してコメントアウトすると、機能するためです。もちろん、[out] パラメータであるパラメータは更新されないため、意図したとおりに機能しません。
メソッドにも戻り値があるため、他に考慮すべき点はありますか? MSDNの例は、例に戻り値がないことを除いて、私が行っていることとほとんど同じです。どんな助けでも大歓迎です。
c# - C# アセンブリの読み込みと遅延バインディング
私はC# と .NET に関するこの本を読んでいて、たくさんのすばらしいことを学んでいます。著者がアセンブリを動的にロードし、そのアセンブリで型のインスタンスを作成することについて話している部分を読みました。
AS3 では、1 つのことを除いて、同じ種類のことを行うことができます。クラスのセットをコンパイルするのではなく、型の安全性をチェックするようにコンパイラに要求できます。例を次に示します。
アプリケーション コードの実行時に、クラス A の定義を含む外部ライブラリを動的にロードし、それらの定義をアプリケーションの ApplicationDomain にロードすると、すべて正常に実行されます。反省はいらない!
これはC#で可能ですか?
つまり、C# コンパイラに一連のクラス (たとえば、ライブラリ内) に対して型チェックを行い、それらをコンパイルから除外するように指示できますか?
vb6 - レイトバウンドパラメータを渡す方法
VB6では、レイトバウンドオブジェクトを別のフォームに渡そうとしています。
frmMain.vb
frmDialog
yの内容は、レイトバウンドオブジェクト「MyOwn.Object」の型名を含む文字列です。ByValとByRefは違いを生みません。手がかりはありますか?思い出せない。
c# - C# でインターフェイスを定義するのに助けが必要
カスタム関数をプラグインとして実装する必要があるデータ ドリブン マッピング アプリケーションがあります。実行する必要があるカスタム メソッドの名前もマッピング データに含まれます。私は、invoke コマンドを使用してメソッドを呼び出すことができることを知っています。しかし、各メソッドに適切な署名があることを確認するにはどうすればよいでしょうか?