問題タブ [extensibility]
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.
metaprogramming - Boo のメタプログラミングと拡張機能のガイドはありますか?
構文マクロ、パーサー サポート (Ometa?)、コンパイラ パイプラインなど、Boo のより強力な機能について知りたいと思っています。ソースコードを勉強する以外に、これらのことについて学ぶための良いリソースはありますか?
.net - MEFの発送はいつですか?
.Net4.0のリリース後に出荷される製品を作成しています。
MEFは.Net4.0の不可欠な部分なので、一緒にリリースされることを期待できますか、それとも別々にリリースされる可能性があり、使用するのが危険な外部コンポーネントですか?
visual-studio - プロパティグリッド内のファイルの編集可能なFullPathプロパティ-VisualStudio2008
VS2008ソリューションにファイルアイテムを含むプロジェクトがあります。各アイテムには、プロパティグリッドに「FullPath」と呼ばれる標準の読み取り専用プロパティがあります。
プロパティグリッドのFullPathプロパティを編集可能にする最も簡単な方法は何ですか?
.net - 基本的な MEF ワークフロー/使用法
.NET アプリケーションで簡単なプラグイン システムを使用できるようにするフレームワークを探しています。MEF は Microsoft が承認しているフレームワークであり、.NET 4 の一部になるようです (Mono だけでなく、別のライブラリとして古い .NET バージョンでも動作するようです)。
私は以前、別のプロジェクトのプラグイン システムとして Mono.Addins を使用していました。基本的な考え方は、一連のインターフェイスを定義することです。これらは「拡張ポイント」、アプリケーションの場合はプラグイン API になります。
MEF も同様に使用できますか? 特に Mono.Addins の経験がある人の観点から、MEF を開始するにはどうすればよいですか?
visual-studio-2010 - VS2010 で呼び出し階層にプログラムでアクセスすることは可能ですか?
Visual Studio 2010 では、呼び出し階層機能が追加されました。プラグイン内からこれにアクセスできるかどうか知っている人はいますか?
java - プラグインをサポートするシステムをプログラミングするためのリソース
プラグインや拡張性をサポートするプログラミング システムや、それらのプラグインのパーミッションやリソースの処理など、その他の関連する詳細な情報に関するリソース (できればテキスト) が必要です
.net - 拡張機能/プラグイン通信のアーキテクチャ
プラグインの読み込みの問題が解決したら (MEF を介した .NET の場合)、解決する次のステップはプラグインとの通信です。簡単な方法は、インターフェースを実装してプラグイン実装を使用することですが、プラグインはアプリケーションの動作方法を拡張するだけでよく、多くの拡張ポイントが存在する場合があります。
私の質問は、その拡張ポイントをどのように処理するかについてです。私はそれを行うさまざまな方法を見てきましたが、それぞれの長所と短所、およびこれを達成するためのより良い方法があるかどうかはわかりません。
- イベント: 「拡張可能」にしたいすべてのものに静的イベントを追加します。たとえば、User クラスのカスタム検証を追加したい場合、OnValidation 静的イベント ハンドラーを追加し、プラグインの構築時にイベントを追加できます。
- メッセージング: バスとメッセージを持つこと。プラグインは特定のメッセージをサブスクライブし、他のクラスがそのメッセージを発行したときに何かを行うことができます。メッセージには、プラグインが機能するコンテキストが含まれている必要があります。検証の場合、ロジック レイヤーは UserValidation メッセージを発行し、メッセージが受信されるとプラグインが動作します。
- インターフェース: ホスト アプリケーションは、特定のインターフェースを実装するすべてのプラグインを呼び出して、現在の操作のコンテキストを提供する責任があります。検証の場合、プラグインは Validate(object context) メソッドを使用して IValidator または IUserValidator を実装できます。
公開されたアプローチのいずれかを使用したことがありますか? どれがあなたにとって最も効果的でしたか?
ご質問の前に、私たちのアプリケーションは、その上にクライアント固有のコンテンツ中心の Web アプリケーションを構築するための拡張可能なコア (ユーザー、ローラ、およびコンテンツ管理) です。すべてが ASP.NET MVC 上に構築されています。
c# - ユーザー提供の正規表現を使用したプラグインモデル
特定のログファイルを分析するC#WPFのプログラムがあります。各ログには、アドレスとデータオフセットを含む形式のデータ行が含まれています。
たとえば、一部のログファイルの形式は次のとおりです。
または、次の形式を持つことができます。
このような形式は多数存在する可能性がありますが、適切な正規表現で解析した場合、各行は常にアドレスとデータを返す必要がありますのでご安心ください。
このRegExをアプリケーションから制御できるようにしたい。ソースコードに各形式の正規表現をハードコーディングしたくありません。ユーザーは、既存のRegExを変更したり、新しい種類のログファイル用に新しいRegExを追加したりできる必要があります。私は彼に、特定の行を選択したり、新しいログファイル用に新しい行を追加したりできるテーブルのようなものを提供する必要があります
テーブル:
ログの名前-正規表現
MMIOログ-MMIO([0-9] {8}):([0-9] {8})->ラジオボタン
ログの書き込み-書き込み([0-9] {8}):( [0-9] {8})->ラジオボタン
これどうやってするの?これをある種の設定ファイルに保存したり、実装方法があまりわからないプラグインモデルを使用したりできますか?
.net - MEF コンポーネントの API スタブを提供するにはどうすればよいですか?
Visual Studio 2010 SDK には、単なるスタブである Microsoft.VisualStudio.Text.Data や Microsoft.VisualStudio.Text.UI などの多くのアセンブリが付属しています。Visual Studio の拡張機能を作成するには、これらのアセンブリを参照しますが、参照の "Copy Local" プロパティと "Exact Version" プロパティを false に設定します。拡張機能が Visual Studio に読み込まれると、参照は Visual Studio の以前に読み込まれたこれらのアセンブリの内部実装にバインドされます。
他の MEF パッケージで可能な Visual Studio サービスとして機能する新しい MEF エクスポート コンポーネントを提供したいと考えています[Import]
。サービスを使用するには、他のコンポーネントが私のパッケージを参照する必要がありますが、それを参照する他のパッケージを壊すことなくサービスの内部実装を変更できるように、スタブを参照することを好みます。スタブを参照すると、実行時に提供された実装とシームレスに連携するように、公開されている API コンポーネントを含む「スタブ」アセンブリを任意のアセンブリから提供するにはどうすればよいですか?