第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

接收:創(chuàng)建無主題的可觀察對象

接收:創(chuàng)建無主題的可觀察對象

C#
慕運維8079593 2021-04-09 17:19:42
我對Rx相當陌生,并嘗試解決以下情況。物品來自服務器,并帶有一組供應商。這些供應商之一將被提名為主要供應商。為了使它們在WPF中可編輯/可綁定,我創(chuàng)建了一些代理反應式對象,這些對象將對UI中的更改進行“反應”并重新計算一些數字。為了確保只有一個供應商可以成為主要供應商,我實現了以下代碼-該代碼使用一個主題來完成工作。我已經讀過主題可能是代碼的味道,我想知道我所做的是“正確的方法”還是可以采用一種更清潔的方法。public class VendorDto{    public string Name { get; set; }    public bool IsPrimary { get; set; }}public class VendorProxy : ReactiveObject{    // INPC for Name and other properties.     public bool IsPrimary => _isPrimary.Value;    private readonly ObservableAsPropertyHelper<bool> _isPrimary;    public ReactiveCommand<Unit, Unit> MakePrimary { get; }    public VendorProxy(VendorDto dto, IObservable<VendorProxy> primaryVendors, Action<VendorProxy> makePrimary)    {        primaryVendors            .DistinctUntilChanged()            .Select(x => x == this)            .ToProperty(this, x => x.IsPrimary, out _isPrimary);        MakePrimary = ReactiveCommand.Create(() => makePrimary(this),             canExecute: this.WhenAnyValue(x => x.IsPrimary, alreadyPrimary => !alreadyPrimary));        if (dto.IsPrimary)             makePrimary(this); // set the initial value of IsPrimary.     }    // implements IEquality.}public class ItemProxy : ReactiveObject{    private ISubject<VendorProxy> PrimaryVendorSubject { get; } = new BehaviorSubject<VendorProxy>(null);    public IObservable<VendorProxy> PrimaryVendorChanged => PrimaryVendorSubject;    public ReactiveList<VendorProxy> Vendors { get; }    public VendorProxy PrimaryVendor => _primaryVendor.Value;    private readonly ObservableAsPropertyHelper<VendorProxy> _primaryVendor;
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 145 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號