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

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

無法隱式“包裝” IEnumerable

無法隱式“包裝” IEnumerable

C#
人到中年有點(diǎn)甜 2021-04-02 21:17:11
給定此類:public class Wrapper<T>{    public Wrapper(T value)    {        Value = value;    }    public T Value { get; }    public static implicit operator Wrapper<T>(T value)    {        return new Wrapper<T>(value);    }}此代碼段無法編譯:IEnumerable<int> value = new [] { 1, 2, 3 };Wrapper<IEnumerable<int>> wrapper = value;錯(cuò)誤CS0266:無法將類型'System.Collections.Generic.IEnumerable <int>'隱式轉(zhuǎn)換為'Spikes.Implicit.Wrapper <System.Collections.Generic.IEnumerable <int >>'。存在顯式轉(zhuǎn)換(您是否缺少演員表?)但是編譯器對此非常滿意:Wrapper<IEnumerable<int>> wrapper = new [] { 1, 2, 3 };為什么?
查看完整描述

1 回答

?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

C#語言規(guī)范明確指出了這一點(diǎn):

6.4.1節(jié)允許的用戶定義轉(zhuǎn)換

對于給定的源類型S和目標(biāo)類型T,如果S或T是可為空的類型,則讓S0和T0引用其基礎(chǔ)類型,否則S0和T0分別等于S和T。僅當(dāng)滿足以下所有條件時(shí),才允許類或結(jié)構(gòu)聲明從源類型S到目標(biāo)類型T的轉(zhuǎn)換:

  • S0和T0是不同的類型。

  • S0或T0是在其中進(jìn)行操作符聲明的類或結(jié)構(gòu)類型。

  • S0和T0都不是接口類型。

  • 不包括用戶定義的轉(zhuǎn)換,不存在從S到T或從T到S的轉(zhuǎn)換。

您的案件違反了條件的第3點(diǎn)。源類型是接口!


查看完整回答
反對 回復(fù) 2021-04-17
  • 1 回答
  • 0 關(guān)注
  • 170 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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