問題タブ [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# - IComponent、IContainer、および ISite をいつ、なぜ実装する必要がありますか?
私は長い間、IComponent、IContainer、および ISite が何のためにあるのか疑問に思っていました。ドキュメントを読みましたが、非常に曖昧です (または、考えすぎです)。クラスをコンポーネントとして作成すると、Visual Studio デザイナーで使用できることがわかっています。しかし、もっと一般的なことを知りたいのです: コンポーネント/コンテナー パターンは何を達成し、私の人生を楽にしてくれるでしょうか?
c# - データバインディングPOCOプロパティ
およびを実装する任意の2つのCLRプロパティ間のバインディングを可能にするデータバインディングフレームワーク(BCLまたはその他)はありますか?次のようなことができるはずです。INotifyPropertyChanged
INotifyCollectionChanged
を実装するPOCOはどこsomeSourceObject
にありますか。ただし、これに対するBCLのサポートについては知りません。また、これを許可する既存のフレームワークがあるかどうかもわかりません。someTargetObject
INotifyPropertyChanged
更新:利用可能な既存のライブラリがないことを考えると、私は自分でそれを作成することにしました。こちらから入手できます。
ありがとう
.net - ISupportInitialize (BeginInit/EndInit) と SuspendLayout/ResumeLayout の違い
ISupportInitialize インターフェイス メソッド (BeginInit/EndInit) を使用する場合と SuspendLayout/ResumeLayout を使用する場合の違いを説明してもらえますか?
ISupportInitialize は、構築/「初期」初期化中にのみ使用されますか?それとも、既存の親コントロールに新しい子コントロールを追加するときに後で使用できますか?
特に違いはありますか?
あなたの助けに感謝します!
ありがとうございました、
パト
.net - 独自のコードで IContainer/ISite/IComponent をどのように使用しましたか?
IContainer と ISite の使用に関するさまざまなオンライン ドキュメント (例: http://www.theserverside.net/tt/blogs/showblog.tss?id=pluginArchitectures ) があり、あいまいな例がありますが、私は遭遇していません。実際に役立つ実際のインスタンス (winform 以外)。正確に何に使用できるのか本当にわからないのは助けにはなりません。winform とは無関係に、独自のコードで .NET コンテナー インターフェイスと対応するクラスを使用している人はいますか?また、それらをどのように使用しましたか?
.net - Windows コントロールは、さまざまな方法でアクセスすると、さまざまな値を返します
DesignSurfaceでホストされているコントロールがあります。
その Location プロパティが によってアクセスされるcontrol.Location
場合と、 によってアクセスされる場合、propertyDescriptor.GetValue(control)
異なる値が得られます。
propertyDescriptor
タイプはPropertyDescriptorです。
誰にもこれに対する解決策がありますか?オブジェクト インスタンスが同じであることを確認しました。
c# - TypeDescriptor.CreateProperty はプロパティを追加しません
プロパティ グリッドに追加のプロパティを表示するために TypeDescriptor.CreateProperty を使用してタイプにプロパティを追加しようとしていますが、この新しいプロパティは追加されず、そのタイプで TypeDescriptor.GetProperties を呼び出してプロパティを調べると、このプロパティ存在しません。
私が行方不明または見落としている可能性があるものはありますか?私が覚えている限り、これは基本的で単純なシナリオです。
呼び出しは次のとおりです: TypeDescriptor.CreateProperty(typeof (MovieMenuItem), "ExternalMediaLocation", typeof (string), null);
c# - C# の ComponentModel、PropertyGrid、およびインターフェイス
さまざまなインターフェイスを実装するオブジェクトがたくさんあります。このインターフェイスの一部のプロパティは、PropertyGrid を介して表示および編集する必要がありますが、DisplayName、Browsable、または DescriptionAttribute などを指定すると、それらは実装するクラスによって「継承」されません。インターフェイス...これはなぜですか?解決策はありますか?
.net - System.ComponentModel 名前空間の使用
私は自分自身をかなり経験豊富な .NET 開発者だと考えていますが、System.ComponentModel 名前空間で型を直接使用したことはほとんどありません。(いくつかのカスタム属性を実装し、リフレクションを介してそれらを消費しました)。
Component、Container、PropertyDescriptor、TypeDescriptor、License、TypeConverter などのタイプが最も役立つのは、どのようなシナリオですか?
Visual Studio で利用できるような "デザイナー" について話すときに System.ComponentModel が言及されるのをよく見かけます。
これらのタイプは、たとえば、優れたビジュアル デザイナー (カスタム プロパティなど) を使用してカスタム コントロールを構築する場合にのみ役立ちますか? または、より一般的なコードでそれらを使用することもできますか?
.net - .NET コンポーネント モデルの説明
まず、これからお話しすることを言わなければなりませんSystem.ComponentModel.Component
。
.NET Component Model
は (サイト サービスを介して) 個別の を定義する機能を提供するComponents
ため、疎結合の方法で相互に通信でき、それぞれComponent
を簡単に交換できることがわかります。
しかし、私のポイントは、そうでなければこれを達成できるということです。つまり、SWを正しいObject Oriented Programming
方法で設計すればAbstract classes
、Interfaces
などを使用して、言及されたすべての機能/相互運用性を達成できるということです。
では、なぜ、いつコンポーネント モデルに頼る必要があるのでしょうか?