Re: [問題] 將 Method 命名為 Add 的問題

看板C_Sharp (C#)作者 (←這人是超級笨蛋)時間11年前 (2014/01/13 00:25), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《On1earth (小淺)》之銘言:

01/12 19:36,
不太了解「編譯器產生的參考」指的是什麼,那避免用Add當
01/12 19:36

01/12 19:38,
方法名比較好嗎?謝謝。
01/12 19:38
用英文 compiler generated references 會查到比較多東西 會產生這個警告的原因是 C# 有個東西叫 extension methods 你可能用了某個會自動產生 Add 這個 method 的 extension 當你把另外一個 method 也命名為 Add 時 這個 method 會覆蓋掉原本的 extension method 這件事情本身不見得會造成什麼問題 (直到你要用到那個 extension 時) 不過對於 refactoring tool 而言 如果你把某個 method 命名為 Add, 之後又要把它 refactor 為其他名稱時 VS 會無法確定某些 method calls 究竟是在參照你的版本, 還是 extension 的版本 在這種狀況下它就不會進行任何重命名, 可能造成 refactoring 不完整而產生 bug 這個警告是為了表達這件事情 所以沒錯, 你最好避免使用這個 method 名 不過如果你知道自己在做什麼, 真的用下去也不見得會出事 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.94.175

01/14 23:30, , 1F
謝謝大大特地回了一篇文,我剛剛開一個空白Web專案,沒加
01/14 23:30, 1F

01/14 23:31, , 2F
什麼東西進去,還是一樣有這個訊息,還有我開啟Json.NET
01/14 23:31, 2F

01/14 23:37, , 3F
的原始碼測試看看也一樣,大大第二段第二行指的是擴充方
01/14 23:37, 3F

01/14 23:39, , 4F
法嗎?還是VS的工具>擴充功能與更新的那個擴充管理員
01/14 23:39, 4F
文章代碼(AID): #1Iqi7iaG (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1Iqi7iaG (C_Sharp)