私はMVVM/WPFアプリケーションでIDataErrorInfo
を使用していました。今度はINotifyDataErrorInfo
が.Net 4.5で利用可能になった後、IDataErrorInfo
を置き換えるか、古い方法でIDataErrorInfo
を使用してください。.Net 4.5:IDataErrorInfoまたはINotifyDataErrorInfoを使用する必要がありますか?
25
A
答えて
30
INotifyDataErrorInfo
には数多くの改善点があります(特に、オブジェクト/プロパティごとに複数の動的に変化するエラーメッセージがサポートされています)。しかし、最大の違いは、それが非同期であることです。エラー状態が変わるたびにErrorsChanged
イベントを発生させる必要があります。
Windows 8を実行するデバイスを対象とするアプリケーションを.NET 4.5で実装する場合は、新しいインターフェイスの使用を強く検討する必要があります。非同期スタイルのプログラミングは、特にRTデバイスを含める場合、そのようなアプリケーションの「意図されたモデル」です。 INotifyDataErrorInfo
をIDataErrorInfo
以上に実装するのはそれほど複雑ではないので、実際には欠点はありません。
これは、既存のすべてのアプリケーションを改造する必要はありません。再び、それはあなたの目標に依存します。既存のアプリケーションをRT互換にアップグレードしようとしている場合は、おそらく新しいエラー処理コードを交換する必要があります。それ以外の場合は、変更する必要はありません。
関連する問題
- 1. 例外を使用した検証とIDataErrorInfoと新しいINotifyDataErrorInfo
- 2. C#.NET 4.5の2つのUIで共有されるシリアルポートを使用する必要があります。
- 3. JSONまたはXMLを使用する必要がありますか?
- 4. WPFアプリケーションでIDataErrorInfoまたはINotifyDataErrorInfoを実装する際の制限
- 5. .netでDebugクラスを使用する必要がありますか?
- 6. コードカバレッジツールを使用する必要がありますか?
- 7. iOSはNSMutableArrayまたはNSMutableDictionaryを使用する必要がありますか?
- 8. 私はurandomまたはopenssl_random_pseudo_bytesを使用する必要がありますか?
- 9. Flash Media Encoderを使用する必要がありますか?
- 10. マーカーインターフェイスを使用する必要がありますか?
- 11. 私はsingletableviewを使用する必要がありますか?
- 12. はcaptchaを使用する必要がありますか?
- 13. 私はフォームタグを使用する必要がありますか?
- 14. ScalaSignatureを直接使用する必要がありますか?
- 15. @synthesizeをまだ使用する必要がありますか?
- 16. AppDomain.CurrentDomain.BaseDirectoryまたはSystem.Environment.CurrentDirectoryを使用する必要がありますか?
- 17. Cloudantでセレクタまたはビューを使用する必要がありますか?
- 18. アプリケーションにAsyncTaskまたはIntentServiceを使用する必要がありますか?
- 19. JavaScriptでwindow.navigateまたはdocument.locationを使用する必要がありますか?
- 20. データセットまたはデータテーブルを使用する必要がありますか?
- 21. ビューでディスパッチイベントまたはファイアイベントを使用する必要がありますか?
- 22. JComboBoxでEnumまたはStringを使用する必要がありますか?
- 23. Developer EntityまたはUser Entityを使用する必要がありますか?
- 24. マルチテーブルまたはマルチテーブルを使用する必要がありますか?
- 25. asyncioでプロトコルまたはストリームを使用する必要がありますか?
- 26. GetまたはLoad-nhibernateを使用する必要がありますか?
- 27. RSAProtectedConfigurationProviderまたはMy Own Providerを使用する必要がありますか?
- 28. GeoCoderをモデルまたはコントローラで使用する必要がありますか?
- 29. NuGetまたはDLLリファレンスを使用する必要がありますか?
- 30. ジオコーディング - APIまたはデータベースを使用する必要がありますか?