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

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

這啥意思啊,關(guān)于泛型約束的

這啥意思啊,關(guān)于泛型約束的

C#
皈依舞 2018-08-02 08:05:09
編譯報錯:Error 1 Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly 這上面的英文說啥呢?下面是代碼片段    public class SQLDataAccess : DataAccess    {        public SQLDataAccess()        {            base.virtualRoomDC = new VirtualRoomDataContext();        }      // public abstract void Add<T>(T item) where T: class; 實現(xiàn)這個方法        public  override void Add<T>(T item) where T: class        {            if (this.IsValidated<T>(item))            {                Table<T> table = base.virtualRoomDC.GetTable<T>();                bool itemAlreadyExists = table.Contains<T>(item);                table.InsertOnSubmit(item);            }        }
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

意思是說, 重寫與顯式接口實現(xiàn)方法 的約束是有基類繼承的,你不能再在子類又指定或者改變這個規(guī)則。

也就是說子類不能改變父類的 約束規(guī)則。把 public  override void Add<T>(T item) where T: class 改成 public  override void Add<T>(T item) 就OK。


查看完整回答
反對 回復(fù) 2018-08-07
?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

這就是字面上的意思,"泛型約束"

public  override void Add<T>(T item) where T: class

比如調(diào)用這個方法時,給add傳遞泛型,而這個泛型類型必須是class(一個類),這樣有個限制就不會在調(diào)用的時候誤傳別的類型的參數(shù),不會導(dǎo)致程序錯誤。

泛型約束的引入讓程序員在操作C#類型時更加的規(guī)范和準確,為了提供強編譯時檢查和減少類型轉(zhuǎn)換.


查看完整回答
反對 回復(fù) 2018-08-07
  • 2 回答
  • 0 關(guān)注
  • 748 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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