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

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

當(dāng)輸出參數(shù)返回不同的派生類型時,NSubstitute 拋出

當(dāng)輸出參數(shù)返回不同的派生類型時,NSubstitute 拋出

C#
瀟湘沐 2023-05-13 16:13:31
我有一個鍵值存儲keyValueDatabase。要請求數(shù)據(jù),IKeyValueResult keyValueDatabase.GetKeyValue(string id, out IKeyValue value)必須使用請求值的 id 調(diào)用。該值作為從 IKeyValue 派生的對象通過 out 參數(shù)返回。界面如下所示:public interface IKeyValue{  string ID { get; set; }}//analogue IKeyValueString...public interface IKeyValueDouble : IKeyValue{  double Value { get; set; }}現(xiàn)在我使用下面的代碼配置這個鍵值存儲的存根。ReturnedKeyValuesIKeyValue是我創(chuàng)建的不同類型的存根的集合。IKeyValue keyValue;keyValueDatabase.GetKeyValue(Arg.Any<string>(),    out Arg.Any<IKeyValue>()).ReturnsForAnyArgs(info =>{    if (ReturnedKeyValues.Select(keyVal => keyVal.ID).Contains(info[0]))    {        info[1] = ReturnedKeyValues.First(keyVal => keyVal.ID == (string)info[0]);        return okResult;    }    else    {        info[1] = null;        return unavailableResult;    }});當(dāng)?shù)谝淮问褂胟eyValueDatabase.GetKeyValueID 為“a”的存根時,它會返回 IKeyValueDouble 類型的輸出值?,F(xiàn)在,當(dāng)?shù)诙问褂?id 'b' 調(diào)用此方法時,應(yīng)返回 IKeyValueString 類型的值。但是,在這種情況下會拋出 ArgumentSetWithIncompatibleValueException:無法將類型 ObjectProxy_1 的值設(shè)置為參數(shù) 1 (IKeyValue&),因為類型不兼容。使用Returnsinstead of 的ReturnsForAnyArgs行為方式相同。我正在使用 NSubstitute 4.2.0 和 .Net-Framework 4.7。
查看完整描述

1 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊

NSubstitute 3.1.0 中的錯誤。已修復(fù) 4.2.1 版



查看完整回答
反對 回復(fù) 2023-05-13
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號