如何从T转换为IObservable ?

问题描述 投票:0回答:1

我正在使用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 '。存在显式转换(您是否缺少演员表?)“

任何想法我应该如何进行?

c# mvvm dto
1个回答
0
投票

尝试一下:stockViewModel.Stock = Observable.Return(stockModel);

Observable代表值流,在这种情况下,您的流将始终是单个值

© www.soinside.com 2019 - 2024. All rights reserved.