最近和一位同事說下linq,我提到linq裡很多方法表面來看是把原先不怎麼常用的一種技巧正式化了下,就是把函式當引數傳遞,同事有點不理解,或者這樣說,在工作中這有什麼用處.
我這裡給出二種簡單比較常用的用法.
1.填充多execl去重複**.
這裡想法比較簡單,也很容易想到,我有時匯出幾份execl時,那麼相應的就會有開啟execl,填充execl,關閉儲存execl這三步.
但是這幾份execl裡,開啟execl,關閉儲存execl是相同的.我們**工人都知道不要寫重複**.那麼好,封裝吧.........
但是關鍵是填充execl這步不一樣,怎麼做(不要告訴我用設計模式來封裝多種模式,然後用不同模式來填充啊.)很簡單,
因為填充execl不一樣,也就是說,要填充的execl**worksheet不一樣,在這裡就可以把函式當引數傳遞.
如下.publicstring
onaction(
params
action actions)
//關閉儲存execl
}2.asp.net寫的 泛型委託在專案中的應用.
這裡給我們展示了一種場景.
具體場景:在客戶端呼叫wcf服務時,我們都需要在客戶做異常處理,最常見的錯誤異常為communicationexception,timeoutexception,exception.
通常我們只能執行這個方法,然後捕獲異常.乙個二個方法沒什麼.如果到達10個會怎麼樣,還不說100的時候.你的專案裡就全是那些一模一樣的try{}catch{}.
幸好,作者給了我們一種處理方法.
把方法作為乙個物件來考慮,我只考慮方法執行的異常情況,你怎麼處理我不管.如下.
public
static
void
invoke
<
tcontract
>
(tcontract proxy, action
<
tcontract
>
action)
{try{
action(proxy));
catch()
catch()
這樣整個世界清靜了.
函式型別有什麼用?
函式型別通常用來宣告函式或者用來組成複雜的型別,例如 void foo c c 規定函式的返回值不能是函式型別或者陣列型別,只能用函式指標或者物件指標 來代替例如,有如下宣告 typedef int f void 這種型別的函式不帶引數,返回值是int。那麼可以這樣宣告f和g f f,g 相當於宣告...
建構函式有什麼用?
建構函式,分為有參和無參 public class student 有參 public student string name 為什麼要有建構函式?我先提一點。就是在我們沒建建構函式的時候,會呼叫系統預設的無參建構函式。建構函式的優點。1.減少 量。2。減少錯誤匹配,增加限制 分別說上面兩點 1.比...
glGetShaderiv()函式有什麼用?
部分內容 自 今天學learnopengl的時候看到了這個函式,因為最終的影象有誤,但是不知道具體 出錯,發現glgetshaderiv 函式可以用來檢測著色器編譯是否成功。名稱 glgetshaderiv 從著色器物件返回乙個引數 規範 void glgetshaderiv gluint shad...