メソッドの値を返す方法と、メソッドの値を返す方法の違いは、ReadOnlyAttribute
に関連付けられていますか?ReadOnlyAttributeとPropertyDescriptor.IsReadOnly()
5
A
答えて
5
主な違いは、これはあなたが(ICustomTypeDescriptor
、TypeDescriptionProvider
またはTypeConverter
経由で)独自のPropertyDescriptor
実装を提供する場合は、より多くの制御をつかむことを可能にするということです。次に、アクセス権に基づいて書込可能な場合には自身の論理を選択することができます。
はい。既定の実装では、セッターなしのプロパティとReadOnlyAttribute
とマークされたプロパティの読み取り専用を報告します。
3
反射板を使用して見ると違いはありません。
派生クラスSimplePropertyDescriptorの1つに次のコードがあります。
public override bool IsReadOnly
{
get
{
return this.Attributes.Contains(ReadOnlyAttribute.Yes);
}
}
0
ちょっとメモ。
各エンティティの読み取り専用状態を個別に制御するために、アプリケーション内のエンティティオブジェクトにICustomTypeDescriptorを実装する日を費やしました。
したがって、それぞれのPropertyDescriptorの実装は、それがどこから来たエンティティオブジェクトへの参照を保持するので、IsReadOnlyプロパティは、このようなものだった:
public override bool IsReadOnly
{
get { return _owner.IsReadOnly;}
}
しかし、私は、コードを実行したとき、のBindingSourceコンポーネントは、一連のを読んでPropertyDescriptorは、セットの各レコードのICustomTypeDescriptorのGetProperties()メソッドから取得しましたが、IsReadOnlyの値をチェックすると、最初のレコードから取得したPropertyDescriptorのみがテストされました。
時間の無駄遣い!!!!
関連する問題
- 1. プロパティのgetが呼び出されたときに発生するイベントを検索する
- 2. IDを取得できません。ヘルプが必要です
- 3. 実行時にプロパティのTypeConverter属性を変更するにはどうすればよいですか?
- 4. EntityType 'MembershipUser'にはキーが定義されていません。継承されたクラス
- 5. TabHostとAndroidと
- 6. ORとSUMIFSと
- 7. entityframeworkのMetaDataクラスPOCO
- 8. マルチプロセッサリスナとクライアントとPythonとPypyの間
- 9. BLASとLAPACKとATLASとの関係
- 10. DbConnectionとOleDbConnectionとOdbcConnectionとの比較
- 11. CとロードOBJファイルとバグ++とOpenGL
- 12. 関数とオブジェクトとしてのjQuery $()と$。()
- 13. フォームとリストとのMVC 3:デフォルトモデルバインダーとEditorFor
- 14. HTMLDocumentとHTMLElementをIEととらえて
- 15. jstat:OGCとOCとの違い、PGCとPC
- 16. BPとワークフローとアクティビティとの関係
- 17. SOAPとRestfullとの違いと関係
- 18. Rails ActiveRecordとactive_adminとリモートデータベースとのトランザクション
- 19. リストビューとページングとSQLサーバーとのページング
- 20. filter2d()とガウスカーネルとGaussianBlur()との違い
- 21. ASP.NET MVCとAngularjsとASP.NET MVCとReactjs
- 22. JavaとFlexとFlerryとの間のメッセージ
- 23. Node-PerfectAPIとRestify.jsとExpressJSとNode-APIServer
- 24. jQueryとjQuery infinitescrollとjQueryとのDrupal.attachBehaviours
- 25. MKMapView didDelectlectAnnotationViewとUITableViewとのやりとり
- 26. Google ChartとPHPとMySQlとの統合
- 27. PHPとPythonのサーバーページとセッションとEXEC
- 28. Postsharpとlog4netとlog4postsharp
- 29. ホバーとメニューとボタン
- 30. アクティブメモリとインアクティブメモリとは
私は自分のPropertyDescriptorをICustomTypeDescriptorで作成していますが、IsReadOnly()メソッドは既にReadOnly属性が適用されているものを上書きします。 –
それは正しいです。 –