我正在使用DTO和MVVM,对我来说,这意味着有时我需要在DTO与ViewModels之间转换类型。在这个机会中,我坚持尝试将T转换为IObservable
StockModel stockModel;
StockViewModel stockViewModel;
stockViewModel.Stock = stockModel;
public class StockViewModel : ViewModelBase
{
IObservable<StockModel> stockModel = null;
public IObservable<StockModel> Stock { get => stockModel;
set
{
stockModel = value;
RaisePropertyChanged("Stock");
}
}
}
public class StockModel:ModelBase
{
int productID = 0;
double quantity = 0;
public int ProductID { get => productID; set => productID = value; }
public double Quantity { get => quantity; set => quantity = value; }
}
我得到的错误是-
“严重性代码描述项目文件行抑制状态 错误CS0266无法将类型'StockModel'隐式转换为'System.IObservable
'。存在显式转换(您是否缺少演员表?)”
任何想法我应该如何进行?
答案 0 :(得分:0)
尝试以下操作:stockViewModel.Stock = Observable.Return(stockModel);
Observable代表值流,在这种情况下,您的流将始终是单个值