0

私はこのコードを持っています:

ObservableCollection<GuiQuestionCluster> clusters = new ObservableCollection<GuiQuestionCluster>(this.ExaminationViewModel.Examination.QuestionClusters);

したがって、this.ExaminationViewModel.Examination.QuestionClustersのタイプですQuestionClusterQuestionCLusterのスーパークラスですGuiQuestionCluster。私が書いたコードは機能しませんでした。エラーが発生します。しかし、これを修正する方法を知りたいのですが、ちょっとしたトリックはありますか?

最初のエラー:

エラー 1 'System.Collections.ObjectModel.ObservableCollection.ObservableCollection(System.Collections.Generic.IEnumerable)' に最適なオーバーロードされたメソッド マッチには無効な引数が含まれています

2番:

エラー 2 引数 1: 'System.Collections.ObjectModel.ReadOnlyCollection' から 'System.Collections.Generic.IEnumerable' に変換できません

4

1 に答える 1

0

タイプの違いのため、これにはトリックはありません。オプションは次のとおりです。

  • GuiQuestionClusters ではなく QuestionClusters コレクションにします
  • foreach ループを使用して項目をリストに追加します。オブジェクトを作成して値を直接割り当てるか、基本クラスの型を取るオーバーロードされたコンストラクターを使用する必要があります。これは、部分的な割り当てが発生する可能性があるため、原則として最適な設計ではありません。
  • これを回避するには、継承または拡張メソッドを使用して調べることができます
于 2011-05-09T12:44:32.550 に答える