作者查詢 / CloudyWing

總覽項目: 發文 | 留言 | 暱稱
作者 CloudyWing 在 PTT [ C_Sharp ] 看板的留言(推文), 共125則
限定看板:C_Sharp
[問題] 防呆寫法
[ C_Sharp ]54 留言, 推噓總分: +10
作者: abc95007 - 發表於 2018/10/04 15:10(7年前)
8FCloudyWing: 一般來說取決於層級,較底層的是例外,較外層是bool o10/05 02:36
9FCloudyWing: r message10/05 02:36
10FCloudyWing: 舉例來說操作介面來的資料是允許對方可能會輸入錯誤,10/05 02:41
11FCloudyWing: 就不該用例外處理,而是判斷完值後回傳訊息,但較底層10/05 02:41
12FCloudyWing: 的api則是直接預期對方使用這個api應該要知道適當參數10/05 02:41
13FCloudyWing: 為何,當不符合則是拋出例外。10/05 02:41
14FCloudyWing: 簡單來說還是取決於你對函式的定位,假設你的案例程式10/05 02:45
15FCloudyWing: 是在Main呼叫函式,我傾向於不用例外10/05 02:45
16FCloudyWing: 然後訊息方式enum or bool+out message or 寫一個資料10/05 02:50
17FCloudyWing: 結構(structure和class都行)封裝是否成功和訊息都可以10/05 02:50
18FCloudyWing: ,用哪種也是看需求10/05 02:50
19FCloudyWing: 如果會需要判斷回傳訊息是哪種而執行不同行為用enum;10/05 02:55
20FCloudyWing: 想要知道有沒有成功並且show訊息用第二種;第三種就比10/05 02:55
21FCloudyWing: 較彈性,你可以同時封裝bool messsge enum,然後看情10/05 02:55
22FCloudyWing: 況決定10/05 02:55
23FCloudyWing: 話說你的message應該用out不是ref,用ref會讓人預期是10/05 02:57
24FCloudyWing: 訊息的累加10/05 02:57
41FCloudyWing: 全包try catch和throw ex真的是try catch兩大誤用10/06 00:51
[問題] MVC框架鑽研方向疑問(求學習方向)
[ C_Sharp ]19 留言, 推噓總分: +2
作者: windofsmile - 發表於 2018/10/03 23:40(7年前)
15FCloudyWing: 他的免費課程我記得有部分沒開放了,不過講義還是有10/04 00:24
[問題] 請問這段程式那裏有錯?
[ C_Sharp ]10 留言, 推噓總分: +6
作者: ploenix - 發表於 2018/09/12 10:15(7年前)
7FCloudyWing: TextBox是this的下層Control嗎?還是其實更下層?09/15 01:42
[問題] 泛型使用時機/參數傳入泛型或是interface
[ C_Sharp ]44 留言, 推噓總分: +11
作者: ccorn - 發表於 2018/09/06 17:28(7年前)
4FCloudyWing: 以這範例來說,除非method裡面可能會把介面轉型成實際09/06 23:35
5FCloudyWing: 型別,不然是2吧09/06 23:35
6FCloudyWing: 以這情況,其實你呼叫起來幾乎沒差別,如果用介面就09/06 23:43
7FCloudyWing: 不會有轉型損耗的,其實用介面就可以了,有轉型損耗的09/06 23:44
8FCloudyWing: 就要考慮泛型或是泛型介面09/06 23:45
9FCloudyWing: 我個人覺得沒太大差別,然後修正一下,說轉型損耗不精09/07 01:32
10FCloudyWing: 準,不用自行做型別檢查或額外做轉型09/07 01:34
11FCloudyWing: DoSomething()裡面如果只在意ISomething,例如只是呼09/07 02:02
12FCloudyWing: 叫ISomething的某個方法,那就是介面就好09/07 02:03
13FCloudyWing: 但如果你在乎的是ISomething的延伸類別09/07 02:04
14FCloudyWing: 那你可能就必須在method去判斷參數是ISomething的哪個09/07 02:05
15FCloudyWing: 延伸類別,或是利用泛型,讓使用者可以延後到呼叫時決09/07 02:09
16FCloudyWing: 定,更簡單來說是你是在定義method還是呼叫method決定09/07 02:10
17FCloudyWing: 有效的型別來決定是interface還是泛型,感覺越講越亂.09/07 02:11
18FCloudyWing: 想到一個爛例子可以說明InterfaceA有定義methodA09/07 02:39
19FCloudyWing: ClassA實作MethodA;ClassB繼承MethodA,new MethodA09/07 02:40
20FCloudyWing: 上面打錯,ClassB繼承ClassA,又用new定義同名MethodA09/07 02:41
21FCloudyWing: 如果你今天在意的是InterfaceA,不管傳入參數型別是09/07 02:43
22FCloudyWing: 哪個,DoSomething()裡呼叫都是實作介面的MethodA09/07 02:44
23FCloudyWing: 那就是作法二,如果你是要讓呼叫DoSomething的人可以09/07 02:46
24FCloudyWing: 決定是要呼叫哪個Class的MethodA,那就是作法一09/07 02:48
25FCloudyWing: 當然正常不會用同名Method玩,而是搭配delegate使用09/07 02:49
37FCloudyWing: 32樓講的是泛型介面才有,想知道可以查協變和逆變09/08 10:35
[問題] 問@是sql語法還是C#語法
[ C_Sharp ]16 留言, 推噓總分: +5
作者: studnet - 發表於 2018/03/31 12:47(7年前)
4FCloudyWing: SQL語法,MSSQL用@來表示變數,後面的Parameters.Add03/31 14:25
5FCloudyWing: 最後則會轉出declare變數的語法,至少MSSQL原理是這樣03/31 14:26
6FCloudyWing: 有興趣理解細節用SQL Server Profiler可以查看03/31 14:28
7FCloudyWing: [title]是表示table field,@title是名為title的變數03/31 14:30
[問題] 繼承時的存取限縮
[ C_Sharp ]9 留言, 推噓總分: +2
作者: s4300026 - 發表於 2017/12/02 16:47(8年前)
4FCloudyWing: 繼承權限修飾詞只能放寬不能變嚴格的樣子,如果是同組12/04 09:46
5FCloudyWing: 件使用,用internal?12/04 09:46
[問題] 關於.net core 與mvc 5
[ C_Sharp ]46 留言, 推噓總分: +18
作者: ab18282099 - 發表於 2017/11/24 02:55(8年前)
41FCloudyWing: 我比較好奇standard2.0的部分,看官方說明是可以在Cor11/29 09:01
42FCloudyWing: a和Framework運作,但Core本身不是已經跨平台?11/29 09:01
43FCloudyWing: 還是指Core寫出來的東西framework不能用,所以才弄這11/29 09:03
44FCloudyWing: 出來?11/29 09:03
[問題] 泛型類別如何向下轉型?
[ C_Sharp ]26 留言, 推噓總分: +5
作者: noodleT - 發表於 2017/10/04 14:08(8年前)
14FCloudyWing: 泛型宣告T前面加out 讓他支援協變10/07 15:46
15FCloudyWing: 不過out要用到介面,所以要先訂一個interface給List實10/07 15:48
16FCloudyWing: 作10/07 15:48
[問題] call by value的問題
[ C_Sharp ]12 留言, 推噓總分: +4
作者: schizophrena - 發表於 2017/09/01 10:52(8年前)
10FCloudyWing: ref type的變數存的是實體位置,所以效果乍看很像09/03 16:34
11FCloudyWing: 你如果在method裡把變數設為null或是new一個新物件就09/03 16:35
12FCloudyWing: 看得出差別09/03 16:35
Re: [問題] 介面實作的問題
[ C_Sharp ]4 留言, 推噓總分: +3
作者: name2name2 - 發表於 2017/01/15 20:58(9年前)
3FCloudyWing: 不加new遇到同名就會預設Hide,加new就是告訴編譯器要H01/18 14:58
4FCloudyWing: ide01/18 14:58