問題タブ [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.
c# - 遅延バインディングを使用して Microsoft Word の既存のインスタンスにアクセスする方法
Microsoft Word と対話する c# でいくつかのコードを開発しています。既存のインスタンスを再利用するか、代わりに新しいインスタンスを作成するかを選択できるようにしたいと考えています。
LATE BINDINGを使用してこれらすべてを実行したいことを覚えておいてください...新しいインスタンスを作成するときに物事を機能させる方法を理解したと言っても過言ではありません..Activator.CreateInstanceなどを呼び出すだけです..
私が抱えている問題は、既存のインスタンスを再利用する方法です。たとえば、Word は既に開いていて、そのインスタンスを使用したいと考えています。
Activator.UseExistingInstance はありますか? または似たようなもの??
ありがとう!
php - php: 静的メソッドで継承クラスの名前を取得する
さて、投稿のタイトルは少し紛らわしいかもしれません。
私はこのコードを持っています:
出力: C
foo() で取得したいのは B のクラス名です。クラス B を変更せずにこれを行うにはどうすればよいですか?
よろしく、 ヤン・オリバー
PS: __ CLASS __、get_class() が機能していません。
vb.net - VB.NET での暗黙のキャスト
この質問は、怠惰な VB プログラマーを対象としています。お願いします。
vb で実行でき、エラーは発生しません。
例 1
例 2
例 3
例 4
予想されるランタイム タイプが確実にわかっている場合、vb 言語の組み込みキャストに依存することは「禁止」されていますか? いつ頼れる?
service - エクスポートされたパッケージよりも OSGi サービスを優先する必要があるのはなぜですか?
OSGi サービスについて頭を悩ませようとしています。私が自問し続けている主な質問は、次のとおりです。バンドルとそのエクスポートされたパッケージを操作する代わりに、サービスを使用する利点は何ですか?
私の知る限り、Late Bindingの概念が関係しているようです。バンドルの依存関係はバンドルの開始時に一緒に配線されているため、かなり固定されていると思います。しかし、サービスに関しては、ほぼ同じようです。バンドルは、サービスを開始して登録するか、サービスにバインドします。もちろん、サービスはいつでも行き来できるので、これらの機会を追跡する必要があります。しかし、核となるアイデアは私にはそれほど変わらないようです。
これに対するもう 1 つの側面は、サービスがより柔軟であることです。1 つの特定のインターフェイスに対して多数の実装が存在する可能性があります。一方で、特定のエクスポートされたパッケージにもさまざまな実装が存在する可能性があります。
別のテキストで、エクスポートされたパッケージを使用することの欠点は、サービスよりもアプリケーションが脆弱になることだと読みました。著者は、依存関係グラフから 1 つのバンドルを削除すると、他の依存関係が満たされなくなり、グラフ全体にドミノ効果が発生する可能性があると書いています。しかし、サービスがオフラインになった場合、同じことが起こり得ないのでしょうか? 私には、サービスの依存関係はバンドルの依存関係よりも優れているようには見えません。
これまでのところ、パッケージをエクスポートおよびインポートして機能を公開するよりもサービスの方が優れている理由を明確に説明できるブログ投稿、本、またはプレゼンテーションを見つけることができませんでした。
私の質問を要約すると:
パッケージのエクスポートおよびインポートよりも優れた OSGi サービスを使用する主な利点は何ですか?
添加
この問題についてさらに情報を収集し、パッケージとサービスの単純なエクスポート/インポートを比較してみました。たぶん、これは満足のいく答えを見つけるのに役立つでしょう.
開始/停止/更新
バンドル (つまりパッケージ) とサービスの両方を開始および停止できます。それに加えて、それらは一種の更新が可能です。サービスは、バンドルのライフ サイクル自体にも関連付けられています。ただし、この場合、サービスまたはバンドルを開始および停止できるかどうかを意味します (エクスポートされたパッケージが「消える」ように)。
変更の追跡
ServiceTracker と BundleTracker を使用すると、バンドルとサービスの可用性の変化を追跡して対応することができます。
他のバンドルまたはサービスへの特定の依存関係。
エクスポートされたパッケージを使用する場合は、インポートする必要があります。
net.jens.helloworldが提供するサービスは、インターフェイスを取得するためにパッケージをインポートする必要もあります。
したがって、どちらの場合も、多かれ少なかれ特定のパッケージへのある種の「密結合」になります。
複数の実装を持つ能力
特定のパッケージは、複数のバンドルでエクスポートできます。バンドル A とバンドル B によってエクスポートされるパッケージnet.jens.twitterclientが存在する可能性があります。サービスにも同じことが当てはまります。インターフェイスnet.jens.twitterclient.TwitterServiceは、バンドル A および B によって公開できます。
ここでこれを簡単に比較すると (エクスポートされたパッケージ/サービス):
- はいはい
- はいはい
- はいはい
- はいはい
だから違いはありません。
さらに、サービスは複雑さを増し、依存関係の別のレイヤーを導入しているようです (下の画像を参照)。
代替テキスト http://img688.imageshack.us/img688/4421/bundleservicecomparison.png
では、エクスポートされたパッケージとサービスに実際の違いがない場合、サービスを使用する利点は何ですか?
私の説明:
サービスの使用はより複雑に見えます。ただし、サービス自体はより軽量のようです。バンドル全体を開始/停止する場合、または特定のサービスを開始および停止するだけの場合は、(パフォーマンスとリソースの点で) 違いがあるはずです。
アーキテクチャの観点からは、バンドルはアプリケーションの基盤と見なすこともできると思います。バンドルの開始と停止に関して、基盤を頻繁に変更するべきではありません。この機能は、このパッケージのサービスによって、「バンドル レイヤー」の上のある種の動的レイヤーで提供されます。この「サービス層」は、頻繁に変更される可能性があります。たとえば、データベースがオフラインになると、データベースをクエリするためのサービスが登録解除されます。
あなたの意見は何ですか?私はサービスの要点を理解し始めていますか、それともまだ間違った方法で考えていますか? エクスポートされたパッケージよりもサービスをはるかに魅力的にするために欠けているものはありますか?
c# - C# - 動的キーワードを無効にする
.net 4 で「動的」キーワードの使用を無効にする方法はありますか?
VS2010 のコード分析機能には、dynamic キーワードを使用するとビルドが失敗するルールがあるのではないかと思いましたが、うまくいきませんでした。
c# - パラメータ化されたプロパティのC#遅延バインディング
C#WinFormsプロジェクトを使用して、遅延バインディングを使用して、Amibrokerと呼ばれるプログラムによって提供されるCOM自動化APIに接続しようとしています。これまでのところ、1つのアイテムを除いて、APIのすべてに接続できました。これは、広範なグーグルに基づく「パラメーター化されたプロパティ」であると信じています。
ドキュメントによると、API仕様は次のようになります(フルバージョンはこちら: http: //www.amibroker.com/guide/objects.html):
値を更新するJavaScriptスニペットは次のようになります。
次のC#実行時バインディングコードを使用して、プロパティの値を取得できますが、値を設定する方法を一生理解することはできません。
これまでに試しました:
- BindingFlags.SetProperty、BindingFlags.SetFieldを使用する
- 返されたオブジェクトをPropertyInfoオブジェクトにキャストし、それを使用して値を更新しようとします
- 値を含むオブジェクトをパラメータオブジェクトに追加する
- 最後の努力として他の様々なもの
私が見ることができることから、これは簡単なはずですが、C#での遅延バインディングはせいぜい面倒だと感じています。プロパティは私へのメソッド呼び出しのように見えますが、それが私を失望させています。メソッドに値を割り当てるにはどうすればよいですか?また、遅延バインディングC#コードのプロトタイプはどのようになりますか?
うまくいけば、それで十分に説明できますが、不明な点がないかどうかお気軽にお問い合わせください。助けてくれてありがとう!
ダニエル
visual-studio - 従来の ASP で遅延バインドされたオブジェクトに Intellisense を提供するように Visual Studio を取得する方法はありますか?
私は次のように ActiveX コントロールからオブジェクトをインスタンス化するクラシック ASP (VB スクリプトを使用) プロジェクトに取り組んでいます。
Visual Studio 2005 は、プロパティとメソッドの最初の "レイヤー" に IntelliSense を提供しますが、メイン オブジェクトのメンバーであるプロパティとメソッドを認識できないようです。例えば:
より厳密に型指定された環境で作業できるように、何らかの方法で Visual Studio がこれらのオブジェクトの種類を確認できるようにする方法はありますか?
java - 解釈vs.コンパイルvs.遅延バインディング
Pythonは中間バイトコード(pyc)にコンパイルされてから実行されます。したがって、コンパイルとそれに続く解釈があります。ただし、Pythonの長年のユーザーは、Pythonは「遅延バインディング」言語であり、通訳言語と呼ばれるべきではないと述べています。
Pythonは他のインタプリタ言語とどう違うのでしょうか?
Pythonのコンテキストで、「遅延バインディング」の意味を教えてください。
Javaは、最初にソースコードをバイトコードにコンパイルし、次にバイトコードに解釈する別の言語です。
Javaはインタプリタ/コンパイルされた言語ですか?
コンパイル/実行の点でPythonとどう違うのですか?
Javaには「遅延バインディング」がないと言われています。これは、JavaプログラムがPythonよりもわずかに高速であることと関係がありますか?
人々がすでにこれについて話し合っている場所へのリンクも教えていただければ幸いです。これについてもっと読みたいです。ありがとうございました。
c# - アンマネージコードを含むrawアセンブリを動的にロードするにはどうすればよいですか?(「検証不可能なコードがポリシーチェックに失敗しました」例外をバイパスします)
アンマネージコードとの混合アセンブリであるSystem.Data.SQLite.DLLの使用例を示し ます。これを実行すると:
例外はスローされませんが、これを行うと:
CLRは、「検証不可能なコードがポリシーチェックに失敗しました。(HRESULTからの例外:0x80131402)」というFileLoadExceptionをスローします。このアセンブリを子AppDomainにロードしようとしているとしましょう。ポリシーチェックに合格できるように、AppDomainのセキュリティをカスタマイズするにはどうすればよいですか。
c++ - 遅延バインディングの問題!
インタビューでこの質問をされました。
私の知る限り、遅延バインディングは実行時にシンボルを動的に識別します。間違っている場合は修正してください。
C++ で遅延バインディングを使用するときに直面する問題は何か、などの質問を受けました。私は実際にそれについて自分の考えから外れていました。
職業生活で直面したかもしれない問題を教えてください。
ありがとう。