關於C#的delegate和event,我個人一直覺得是比較不好理解的部分,雖然直接使用別人設計好的功能時覺得很方便,但要自己使用delegate或event時總是不太順手;雖然過去曾經因為必須使用delegate奮鬥了一段時間,但幾年沒有用到後就又不太熟了XD。所以這篇文章就來從觀念開始紀錄一下delegate和event這兩個神奇的玩意。
[C#]Observer Pattern到Delegate和Event
- 6017
- 0
關於C#的delegate和event,我個人一直覺得是比較不好理解的部分,雖然直接使用別人設計好的功能時覺得很方便,但要自己使用delegate或event時總是不太順手;雖然過去曾經因為必須使用delegate奮鬥了一段時間,但幾年沒有用到後就又不太熟了XD。所以這篇文章就來從觀念開始紀錄一下delegate和event這兩個神奇的玩意。
Build 2016過後微軟投出了很多讓開發人員感到驚豔的震撼彈,像是Win10未來可以run原生的使用linux指令,Xamrian免費等等。趁著連假也惡補了幾段內容,其中「The Future of C#」談到了一些未來C# 7的新語法,讓人感到滿興奮的,因此在這邊做個簡單的紀錄。
使用Unity進行相依注入的時候,比較常見都是一個Interface對一個實作的Class,但是需求變得複雜,經過幾次重構後,很可能會拉出一個Interface出來,再由不同的Class去實作它,這時候要進行DI時code改怎麼寫?
在之前的文章中,我們已經可以在一般呼叫API的情況下將回傳的JSON格式統一,且在Exception發生時也能夠將Exception已我們想要的格式回傳,但由於Asp.Net WebApi已經先幫我們做好了找不到正確的Controller和Action時的處理,導致當呼叫不存在的API時,還是無法依照想要的JSON格式回傳,這篇文章就來解決這個問題。
在設計ASP.NET相關程式的時候,有時候我們必須在Global.asax中加入一些自訂的程式,例如希望每次Request時只會進行一次資料庫連線的建立,則可以在Application_BeginRequest中建立資料庫連線,然後在Application_EndRequest中將連線dispose掉。而在這個階段的處理若有exception時,之前的系列文章介紹的方法將無法正確處理傳回統一的JSON格式;如果有在Global.asax中做其他的處理,也希望在這裡有exception時可以用統一的方式回傳JSON結果,那們我們必須另外在Global.asax中處理這個錯誤。
在上一篇文章「統一回傳訊息格式比較完整的處理方法 (2) Action中Exception處理」中,我們增加了一個繼承自ExceptionFilterAttribute的類別讓在Action中的方法產生例外時可以用統一的格式回傳。
在上一篇文章「統一回傳訊息格式比較完整的處理方法 (1)回傳訊息統一」中,我們利用自訂ActionFilter的方法成功把所有WebApi回傳的結果包裝成一個統一的格式,接下來我們會面臨到出現錯誤時,也要依照我們自己定義的格式回傳JSON。
由於目前有一個實作Api Server的需求,是會開放給很多第三方使用的,因此需要不管任何情況(包含各種Exception)都將回傳的內容格式完全統一,以方便其他使用Api的人容易解讀內容',研究了一整天,終於有點結論了。
摘要:MySQL connector .NET : Parameters