2012-01-10 4 views
1

Silverlight 3スタブを使用してWCFサービスを使用しています。必要なパラメータはSystem.Collections.ObjectModel.ObservableCollectionです。System.Collections.ObjectModel.ObservableCollectionはMonotouchで部分的にのみ実装されていますか?

ItemType[] aItemTypes = ...; 
ObservableCollection<ItemType> aTypes = null; 
if(aItemTypes != null) 
{ 
    aTypes = new ObservableCollection<ItemType> (aItemTypes); 
} 

私が代わりに列挙をとるコンストラクタを使用しての手動でのすべてのエントリを追加するには、foreachループを使用している場合は、それが動作:次のコードは、NotImplementedExceptionを投げているが 。コンストラクターが見つからない、または単に忘れられた理由はありますか?

答えて

1

コンストラクタが見つからない、または忘れられた理由はありますか?

これは、誰かが型を実装しているが、その内部にすべてが必要ない場合、Mono基本クラスライブラリのソースコードで発生することがあります。このような場合には、この以来、行方不明のコードのためにスタブを追加すると良いでしょう:

  • 既存のコードのコンパイルを許します。
  • 実行時にMissingMethodExceptionを避けると、NotImplementedExceptionは診断しやすくなります。
  • は、Monoのツーリングを許可します。 MoMAおよびGendarmeNotImplementedExceptionを既存の.NETコードで報告してください。

この特定のケースでは、コピーするアイテムがイベントをトリガする必要があるかどうかを調べるために、より多くのテストが必要であると思われます。

このメソッドはMonoのGITマスターで実装されています。これをバックポートすると、mono-2-10ブランチになるので、MonoTouchは将来のリリースでそれを入手します。

+0

mono-2-10は既に更新されています(Android用のMonoでは他の誰かが同じ条件を持っている必要があります)ので、このメソッドの*実装*は次のMonoTouch 5.1.xリリースの一部になります。 – poupou

関連する問題