C#編程盡量使用接口(轉)

.NET框架包括類和接口,在編寫程序的時候,你可能知道正在用.NET的哪個類。然而,在這種情況下如果你用.NET支持的接口而不是它的類來編程時,代碼會變得更加穩定、可用性會更高。請分析下面的代碼:?

private?void?LoadList?(object?[]?items,?ListBox?l)?
{?
 for?(int?i?=?0;?i?<?items.Length;i++)?
  l.Items.Add?(items[i].ToString?());?
}?

  這個函數從一個可為任何對象的數組中加載ListBox,這段代碼被限定為只能使用數組。假想過些時候你發現那些對象存在數據庫中,或別的集合中。那么你需要修改程序來使用不同的集合類型。如果你用ICollection接口來寫那段程序,你就不用修改那段程序了,對于任何實現ICollection接口的類型它都能很好的工作:?

private?void?LoadList?(ICollection?items,ListBox?l)?
{?
  foreach?(object?o?in?items)?


  l.Items.Add?(o.ToString?());?
}?

  ICollection被數組和所有System.Collection中的集合實現。此外,多維數組也支持ICollection接口。如果那還不夠的話,數據庫.NET類同樣支持ICollection接口。用接口寫的這個函數不用需改就可以才許多中情況下使用。

轉載于:https://www.cnblogs.com/poor/archive/2009/03/02/1401573.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276619.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276619.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276619.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache 重寫規則的常見應用 (rewrite)

本文出自:http://www.linuxforum.net 作者:吳阿亭 Jephe wu (2001-09-05 08:00:00) 一:目的 本文旨在提供如何用Apache重寫規則來解決一些常見的URL重寫方法的問題&#xff0c;通過常見的 實例給用戶一些使用重寫規則的基本方法和線索。 二:為什么需要用重寫規則&#xff1…

python怎么模擬瀏覽器交互_干貨分享:python爬蟲模擬瀏覽器的兩種方法實例分析(趕緊收藏)...

今天為大家帶來的內容是&#xff1a;干貨分享&#xff1a;python爬蟲模擬瀏覽器的兩種方法實例分析&#xff08;趕緊收藏&#xff09; 文章主要介紹了python爬蟲模擬瀏覽器的兩種方法,結合實例形式分析了Python爬蟲模擬瀏覽器的兩種常見操作技巧與使用注意事項,需要的朋友可以參…

vue-cli3

github&#xff1a;https://github.com/vuejs/vue-cli org&#xff1a;https://cli.vuejs.org/ guide&#xff1a;https://cli.vuejs.org/guide/ config&#xff1a;https://cli.vuejs.org/config/ 轉載于:https://www.cnblogs.com/veritas-sj/p/10147789.html

Indy中判斷郵件來源

首先從TidMessage中獲得郵件的頭信息&#xff1a; strHeader:aIdMessage.Headers.text; 然后&#xff0c;用正則表達式取出Received: vReceiveIP:GetNeedStrByPerlReg(strHeader,(Received:)(.)(])); 再取出X-Originating-IP&#xff1a; vOriIP:GetNeedStrByPerlReg(strHea…

用jQuery實現彈出窗口/彈出div層

原文鏈接&#xff1a;http://hi.baidu.com/awz_tiger/item/863cfc10c4bb0f6171d5e8d9 http://blog.163.com/qiuxinke2006126/blog/static/24885580201131763139536/ http://hi.baidu.com/kilwin/blog/item/f4cfaf2695375920c9955947.html 用div層代替傳統的彈出窗口已經變得很…

模塊定義文件導出類_濃縮的就是精華——ES6模塊精煉講解

概述在 ES6 前&#xff0c; 實現模塊化使用的是 RequireJS 或者 seaJS(分別是基于 AMD 規范的模塊化庫&#xff0c; 和基于 CMD 規范的模塊化庫)。ES6 引入了模塊化&#xff0c;其設計思想是在編譯時就能確定模塊的依賴關系&#xff0c;以及輸入和輸出的變量。ES6 的模塊化分為…

關于快速開發和設計應用系統的一些個人的意見

作為程序員&#xff0c;經常會為我們的客戶去開發和設計各種應用系統&#xff0c;比如OA /CRM/物流調度/客戶服務/電子政務。。。及各種管理信息系統&#xff0c;我們經常會去開發和實現這樣的一些系統&#xff0c;每周、每月、每年經常都要去做這樣的一些開發工作&#xff0c;…

Jquery1.6版本后attr的變化

原文鏈接&#xff1a;http://www.cnblogs.com/-run/archive/2011/11/16/2251569.html Jquery1.6版本后attr的變化 Jquery1.6版本后 attr 改動后的效果&#xff1a; jquery1.6版本&#xff1a; 下文來自www.jquery.com The difference betweenattributes and properties can b…

idea main scanner 輸入_哇曬,你竟然不知道idea的 Live Templates

最近公司新近來一名程序猿&#xff0c;在寫代碼時&#xff0c;美美寫到System.out.println的時候&#xff0c;都要一母不差的用鍵盤敲上去&#xff0c;我問他你之前有用過eclipse中的快捷方法syso嗎&#xff1f;于是&#xff0c;我給他介紹了一下&#xff0c;在idea中如何自定義…

Android開發需要了解的 IM 知識

引言即便在通訊如此發達的今天&#xff0c;IM 也依然是諸多場景下非常重要的基礎能力。因此做為 一名 Android 開發&#xff0c;不可避免的會遇到一些IM 相關的需求或問題。本文以一個Android開發的角度來講述IM 開發相關的基礎知識。想要閱讀更多技術干貨、行業洞察&#xff0…

偷梁換柱做自己的封裝系統

偷梁換柱做自己的封裝系統&#xff01;菜鳥一開始都想把自己的信息加到系統里&#xff0c;但封裝系統只會一點&#xff01;但我們可“拿來”&#xff0c;我們可以用偷梁換柱的方法來修改別人的系統&#xff0c;本文以雨林的GHOST5.0系統為例。一、準備工作1、當然是下載一個自己…

JQuery 1.6+ checkbox 狀態選擇

示例&#xff1a; HTML: <form><table><tr><td><input type"checkbox" id"select_all"/></td></tr><tr><td><input type"checkbox" name"select[]"/></td></…

臺電u盤量產工具_簡單幾步,讓U盤起死回生

如今&#xff0c;雖說云存儲風靡&#xff0c;但U盤仍存在價值&#xff0c;畢竟在很多場合并不方便上網&#xff0c;即便如此網上存儲有時也并不方便&#xff0c;也不安全。與此同時&#xff0c;如果是大文件存儲&#xff0c;云盤上傳和下載速度非常慢&#xff0c;并不適合海量數…

PXC集群常見錯誤(一)

歡迎關注MySQL 8.0必知必會系列課程。MySQL8.0必知必會-自動化部署 https://edu.51cto.com/course/16368.htmlMySQL8.0必知必會之參數標準化配置 https://edu.51cto.com/course/16358.html1.Cant start server: Bind on TCP/IP port: Address already in use…

獲取GridView中RowCommand的當前選中行的索引或主鍵Id

獲取GridView中RowCommand的當前索引行 前臺添加一模版列,里面添加一個LinkButton前臺 (如果在后臺代碼中用e.CommandArgument取值的話前臺代碼就必須在按鈕中設置CommandArgument的值&#xff0c;值為綁定的數據庫字段<asp:TemplateField HeaderText"操作"> …

系統架構師 項目經理 哪個更有前景_中央空調加地暖與五恒系統,哪個更省錢?...

每逢嚴冬酷暑,人們都會感嘆空調是最偉大的發明,并且隨著科技發展還在不斷進化。從烤火取暖到空調和地暖的供暖,從紙扇電扇的吹風到空調的制冷,人們的需求正在不斷提高,于是,為了滿足人們的需求&#xff0c;市場上又衍生出了家裝五恒系統。 恒溫、恒濕、恒氧、恒潔、恒靜這…

軟件架構基本原則

軟件架構本質上是繪制一幅復雜素描所打的草稿&#xff0c;我還說&#xff0c;如果你罩得住&#xff0c;可以不需要這個草稿。但這只是“理論上”&#xff0c;我們寫軟件&#xff0c;基本上不是在寫只有幾千行的代碼的小程序&#xff0c;而是寫數千萬行的大型程序。《道德經》說…

Smarty目錄結構和子目錄路徑問題

原文鏈接&#xff1a;http://bbs.csdn.net/topics/80223905 問題 1).最初在模板文件中使用了絕對路徑&#xff08;相對于站點根的路徑 ).如在system_info.tpl中圖片是這樣顯示的<img src"/templates/default/images/logo.gif"/>這樣當系統發布時&#xff0c;…

c++直角坐標系與極坐標系的轉換_一篇閱讀量高達2百6十多萬的關于坐標系和投影的相關知識探討...

本文轉載于CSDN作者rsyaoxin這是一篇關于坐標和投影的「神文」截止目前瀏覽量已達2698239是相關文章中不可打破的神話...文末有本文作者推薦的兩款坐標轉換的小工具下載鏈接回想一下&#xff0c;接觸遙感專業也有幾個年頭了&#xff0c;而現在越來越偏離遙感了&#xff0c;突然…

c# xmlhttp POST提取遠程webservice數據

public string cancel(string StudentID,string Mobile){string datanull;data "<?xml version1.0 encodingutf-8?><soap:Envelope xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:soaphttp://schemas.…