最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#快速實現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源

 更新時間:2023年02月06日 09:43:05   作者:河西石頭  
本文主要介紹了C#快速實現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

使用可以綁定數(shù)據(jù)源的控件我們需要有實現(xiàn)了IList接口的類作為數(shù)據(jù)源,我們有很多的方法,比如使用ArrayList或者List的泛型類都是很方便的,或者不怕麻煩的索性直接上DataTable。
但我們也許想實現(xiàn)一個專用于某個自己定義的對象的list類,這樣其他類想錯誤的加入這個list都不可能了。

一、利用VS的修補程序快速繼承IList

假定我有一個Creature的類,如果我們直接在上面加上接口的繼承,則會出現(xiàn)報錯提示,如下圖:

在這里插入圖片描述

說明,這些接口成員都是必須實現(xiàn)的。
我們來一一實現(xiàn),其實也不必要,因為我們只是借用它的接口讓Creature類成為一個可以充當數(shù)據(jù)源DataSource的類。

我們點擊最下面的顯示可能的修補程序(Alt+Enter即可),然后點預覽,可以根據(jù)自己的需要修改。

在這里插入圖片描述

如果不需要特別的修改,基本直接應用即可,只是不能應用到數(shù)據(jù)源綁定上。表面上看這樣這個類就實現(xiàn)了IList接口了,但要用于數(shù)據(jù)源綁定就必須實現(xiàn)我所列出的5個成員,否則還是不能做為數(shù)據(jù)源給控件使用。

二、實現(xiàn)必須的成員

   #region 做數(shù)據(jù)綁定必須實現(xiàn)的成員

        /// <summary>
        /// 添加元素必須的方法
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public int Add(object? value)
        {
            list.Add(value);
            return list.Count;
            //throw new NotImplementedException();
        }
        public int Count { get { return list.Count; } }
        public object? this[int index] { 
            get { return list[index]; }
            set  { list[index] = value; }
             }
        /// <summary>
        /// 如果要作為DataGridView的數(shù)據(jù)源,必須實現(xiàn)這個屬性
        /// </summary>
        public bool IsReadOnly { get { return false;}
        }
        /// <summary>
        /// 迭代必須的方法
        /// </summary>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public IEnumerator GetEnumerator()
        {
            return list.GetEnumerator();
            //throw new NotImplementedException();
        }
        #endregion

我們來看看效果:

在這里插入圖片描述

這里我們測試了三種綁定數(shù)據(jù)源的控件,分別是ListBox,ComboBox,DataGridView ,沒有發(fā)現(xiàn)任何問題,是不是特別的容易!

到此這篇關于C#快速實現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源的文章就介紹到這了,更多相關C# IList數(shù)據(jù)源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 利用Aspose.Cells和Excel模板導出統(tǒng)計數(shù)據(jù)

    利用Aspose.Cells和Excel模板導出統(tǒng)計數(shù)據(jù)

    這篇文章主要為大家詳細介紹了利用Aspose.Cells和Excel模板導出復雜的統(tǒng)計數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • c#中查詢表達式GroupBy的使用方法

    c#中查詢表達式GroupBy的使用方法

    本篇文章介紹一下GroupBy的使用方法,包括實驗基礎數(shù)據(jù)用例,通過實例代碼給大家介紹的非常詳細,需要的朋友跟隨小編一起看看吧
    2021-11-11
  • C#實現(xiàn)Word轉PDF的方法總結

    C#實現(xiàn)Word轉PDF的方法總結

    這篇文章主要為大家詳細介紹了C#中實現(xiàn)Word轉PDF的常用方法,文中的示例代碼講解詳細,具有一定的學習價值,有需要的小伙伴可以參考下
    2023-10-10
  • WinForm繪制圓角的方法

    WinForm繪制圓角的方法

    這篇文章主要介紹了WinForm繪制圓角的方法,涉及C#中GraphicsPath模塊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#如何操作Excel數(shù)據(jù)透視表

    C#如何操作Excel數(shù)據(jù)透視表

    這篇文章主要為大家詳細介紹了C#如何操作Excel數(shù)據(jù)透視表, 創(chuàng)建透視表、設置行折疊、展開等操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C#中String和StringBuilder的簡介與區(qū)別

    C#中String和StringBuilder的簡介與區(qū)別

    今天小編就為大家分享一篇關于C#中String和StringBuilder的簡介與區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C# 4.0 大數(shù)的運算--BigInteger的應用詳解

    C# 4.0 大數(shù)的運算--BigInteger的應用詳解

    本篇文章是對C# 4.0 大數(shù)的運算 BigInteger的應用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#中事件的動態(tài)調(diào)用實現(xiàn)方法

    C#中事件的動態(tài)調(diào)用實現(xiàn)方法

    這篇文章主要介紹了C#中事件的動態(tài)調(diào)用實現(xiàn)方法,對比傳統(tǒng)思路優(yōu)劣給出了一個新的解決方案,需要的朋友可以參考下
    2014-09-09
  • C#條件編譯、內(nèi)聯(lián)函數(shù)、CLS介紹

    C#條件編譯、內(nèi)聯(lián)函數(shù)、CLS介紹

    這篇文章介紹了C#的條件編譯、內(nèi)聯(lián)函數(shù)、CLS,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#通過oledb訪問access數(shù)據(jù)庫的方法

    C#通過oledb訪問access數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#通過oledb訪問access數(shù)據(jù)庫的方法,實例分析了C#操作access數(shù)據(jù)庫的相關技巧,需要的朋友可以參考下
    2015-06-06

最新評論

华阴市| 天柱县| 收藏| 龙海市| 东乡县| 九龙县| 通榆县| 汕尾市| 台湾省| 日喀则市| 丰城市| 阿克陶县| 将乐县| 赤城县| 绍兴县| 丹巴县| 清丰县| 儋州市| 凯里市| 克拉玛依市| 乳山市| 贵港市| 南丹县| 孝昌县| 东兰县| 阜新市| 延长县| 济宁市| 新昌县| 宁南县| 宜兴市| 城步| 石河子市| 合江县| 太保市| 和田县| 垦利县| 容城县| 揭阳市| 辽阳市| 扬中市|