問題タブ [system.componentmodel]
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# - PropertyGrid 配列エディターのカスタム ビュー
デフォルトのプロパティ ウィンドウは次のようになっています。
この見方をどうにか変えることはできますか?
たとえば、[配列インデックス] とネームスペースの代わりに、Template.Name プロパティの値と Template.Description を表示したいと考えています。
それを行う可能性はありますか?
asp.net-mvc - ComponentModel.DataAnnotation とデコレータ パターンの違いは何ですか?
プロジェクトにリポジトリデコレータパターンを次のように実装していました。
このアイデアは、次のリンクから得ました。
https://efpatterns.codeplex.com/discussions/282699
しかし、うまく実装できませんでした。次に、デコレータ パターンと DataAnnotation について学習を開始します。これは、Product エンティティの Auditable 属性の方法が、DataAnnotation とデコレータ パターンで多少似ているためです。だから私の質問は、それらは同じものですか.? それらが同じである場合、プロジェクトに監査可能なリポジトリパターン(リンクの詳細)をどのように実装しますか?
c# - TypeDescriptor プロバイダーの追加時に重複する列を未然に防ぐ
次のコードを使用して、datagridview でデータソースを使用するクラスに TypeDescriptor Provider を追加しようとしています。
質問1:
最初はすべて問題ありませんが、フォームを閉じて再度開くと、データプロバイダー記述子が列を2回、最初にプロバイダーを削除してから再度追加しようとしましたが、うまくいきません。
Webで検索したMyTypeDescriptionProviderがあります:
質問2:
MyTypeDescriptionProvider を動的にするにはどうすればよいですか。確認できる場合は、この部分で GetProvider のクラス (TarifadoBloquesBE) をハードコーディングします。
プロバイダーとなるクラスの送信を許可したい。ありがとうございました。
2 つの画像を添付しました。最初の 1 つは問題ありません。次の 1 つは、スクロール バーを確認するだけで列を 2 回確認できます。
ここですべて良い
重複する列
c# - System.Composition (MEF2) でロードする DLL を指定する方法は?
私は新しいプラグイン ローダー アプリケーション フレームワークを開発しており、MEF の利用可能なすべてのバリアントを読んでいます。最も将来性のある柔軟なものは、NuGet からSystem.Composition
.
残念ながら、すべてではないにしてもオンラインのほとんどのチュートリアルは MEF1 用に書かれています。つまり、ディレクトリ内の DLL を明示的に見つけてそれを MEF に渡すなどして作成されSystem.ComponentModel.Composition
た を使用します。AssemblyCatalog
CompositionContainer
MEF2 にはこのオブジェクトがないため、MEF2 がそのコンポーネントをどこで見つけるかはまだ不明です。実行時にそれらを見つけることはできませんか (これは、プラグインをロードするアプリケーションへの参照として各プラグインを追加する必要があることを意味します)? それは私を奇妙に思うでしょう。
どのアセンブリがどこからロードされるかを指定する方法(そして、これをどのようにセットアップする必要があるか)について、誰かが光を当てることができますかSystem.Composition
?MEF2 が PCL を念頭に置いて設計されていることは理解していますが (私はデスクトップ アプリを作成しています)、この将来の移植性のために支払うセットアップ費用が少なければ、私はそれで十分です。System.ComponentModel.Composition
そうでない場合は、私が把握できるものを使用することに屈します。
c# - ソリューション全体で同じ CompositionConainer オブジェクト (またはそれに含まれるアセンブリ) を使用するにはどうすればよいですか?
必要なものの非常に単純な例を説明しましょう。MEF を使用する VS ソリューションがあり、次の広範なプロジェクトとクラスの構造があるとします。
- サーバー (プロジェクト)
- Server.cs (
Main
アプリを起動するためのメソッドが含まれています。)
- Server.cs (
- 共有 (プロジェクト)
- \契約
- ILogger.cs
- ISettings.cs
- \契約
- 設定 (プロジェクト)
- MySettings.cs (ISettings を実装するクラス)
- ロガー (プロジェクト
- MyLogger.cs (ILogger を実装するクラス)
与えられた...
- 上記のプロジェクトはすべて Shared プロジェクトを参照しています。
- サーバーは開始アプリケーションであり、すべてのカタログをアプリケーション コンテナーに初期化します。
...アプリケーションを起動し、アプリケーション内からシングルトンMySettings
を初期化できます。ここまでは順調ですね。MyLogger
Server
ここでMyLogger
、出力ディレクトリの設定ファイルにアクセスする必要があるとします。ディレクトリの場所の値はMySettings
オブジェクトに格納され、 で初期化さServer.cs
れCompositonContainer
ます。
私は MEF を使用しているので、Settings
プロジェクト内でプロジェクトを参照する必要はありませんLogger
。代わりに、MEF を使用して、アプリケーションの開始時に初期化され、サーバー内に存在する現在のアプリケーションISettings
シングルトンを取得したいと考え ています。Server
CompositionContainer
MEF を使用MySettings
して内部からシングルトンに適切にアクセスするにはどうすればよいですか?MyLogger
c# - SerializationStore が参照を見つけられない
ComponentSerializationService を使用して逆シリアル化しようとすると、参照が見つからないというエラーが表示されます。
次のようなエラー:
タイプ 'System.Drawing.Size' が見つかりませんでした。この型を含むアセンブリが参照されていることを確認してください。このタイプが開発プロジェクトの一部である場合は、現在のプラットフォームまたは任意の CPU の設定を使用してプロジェクトが正常にビルドされていることを確認してください。
ここでは、Button コントロールを通過させ、size プロパティを設定しています。