第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

方法可以是靜態(tài)的,但應(yīng)該是靜態(tài)的嗎?

方法可以是靜態(tài)的,但應(yīng)該是靜態(tài)的嗎?

C#
收到一只叮咚 2019-07-27 15:15:28
方法可以是靜態(tài)的,但應(yīng)該是靜態(tài)的嗎?ReSharper喜歡指出每個ASP.NET頁面可能是靜態(tài)的多個函數(shù)。如果我把它們弄得靜止不動對我有幫助嗎?我是否應(yīng)該使它們是靜態(tài)的,并將它們移動到實用程序類中?
查看完整描述

3 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊

靜態(tài)方法與實例方法 
10.2.5靜態(tài)和實例成員C#語言規(guī)范解釋了這種區(qū)別。通常,靜態(tài)方法可以比實例方法提供非常小的性能增強,但只在一些極端的情況下(請參見這個答案有關(guān)這方面的更多細(xì)節(jié))。

FxCop或代碼分析中的規(guī)則CA 1822規(guī)定:

在[將成員標(biāo)記為靜態(tài)]之后,編譯器將向這些成員發(fā)出非虛擬調(diào)用站點,這將防止在運行時對每個確保當(dāng)前對象指針為非空的調(diào)用進(jìn)行檢查。這可能導(dǎo)致性能敏感代碼的可測量性能提高。在某些情況下,訪問當(dāng)前對象實例的失敗代表了一個正確性問題。

效用類
除非在設(shè)計中有意義,否則不應(yīng)該將它們移動到實用程序類。如果靜態(tài)方法與特定類型相關(guān),如ToRadians(double degrees)方法與表示角度的類有關(guān),該方法作為該類型的靜態(tài)成員存在是有意義的(注意,這是一個復(fù)雜的示例,用于演示)。




查看完整回答
反對 回復(fù) 2019-07-28
?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊

在我看來,性能、名稱空間污染等等都是次要的。問問自己什么是合乎邏輯的。該方法是對類型的實例進(jìn)行邏輯操作,還是與類型本身相關(guān)?如果是后者,則將其作為一種靜態(tài)方法。只有當(dāng)它與不受您控制的類型相關(guān)時,才將其移動到實用程序類中。

有時,有些方法在邏輯上對實例進(jìn)行操作,但不碰巧使用實例的任何一種狀態(tài)尚未..例如,如果您正在構(gòu)建一個文件系統(tǒng),并且您已經(jīng)得到了目錄的概念,但您還沒有實現(xiàn)它,那么您可以編寫一個返回文件系統(tǒng)對象類型的屬性,它將始終只是“file”-但是它在邏輯上與實例相關(guān),因此應(yīng)該是一個實例方法。如果要使方法變?yōu)樘摂M的,這也很重要-您的特定實現(xiàn)可能不需要狀態(tài),但派生類可能需要。(例如,詢問一個集合是否只讀-您可能還沒有實現(xiàn)該集合的只讀形式,但它顯然是集合本身的屬性,而不是類型。)



查看完整回答
反對 回復(fù) 2019-07-28
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊


我相信在您的情況下不會發(fā)生這種情況,但是我在一些代碼中看到了一種“難聞”-我通過維護使用了大量的靜態(tài)方法而不得不忍受這種情況。

不幸的是,它們是靜態(tài)方法,假定了特定的應(yīng)用程序狀態(tài)。(當(dāng)然,每個應(yīng)用程序只有一個用戶!)為什么不讓用戶類在靜態(tài)變量中跟蹤這一點?)它們被美化了訪問全局變量的方式。他們也有靜態(tài)構(gòu)造函數(shù)(!),這幾乎總是一個壞主意。(我知道有幾個合理的例外)。

但是,當(dāng)靜態(tài)方法分解出實際上不依賴于對象實例的狀態(tài)的域邏輯時,它們是非常有用的。它們可以使您的代碼更具可讀性。

一定要把它們放在正確的地方。靜態(tài)方法是否侵入地操作其他對象的內(nèi)部狀態(tài)?是否可以證明他們的行為屬于其中一個類呢?如果你沒有正確地區(qū)分關(guān)注點,你可能會在以后頭痛。



查看完整回答
反對 回復(fù) 2019-07-28
  • 3 回答
  • 0 關(guān)注
  • 301 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號