下面的代码给了我用户定义的转换必须转换为封闭类型或从封闭类型转换,而片段#2 没有......似乎用户定义的转换例程必须转换为包含例程的类或从包含该例程的类转换。
我的替代方案是什么?显式运算符作为扩展方法?还要别的吗?
public static explicit operator ObservableCollection<ViewModel>(ObservableCollection<Model> modelCollection)
{
var viewModelCollection = new ObservableCollection<ViewModel>();
foreach (var model in modelCollection)
{
viewModelCollection.Add(new ViewModel() { Model = model });
}
return viewModelCollection;
}
片段#2
public static explicit operator ViewModel(Model model)
{
return new ViewModel() {Model = model};
}
提前致谢!