命名空間在擴充套件方法中的妙用

2022-02-04 02:37:57 字數 890 閱讀 8445

.net的不同版本中,有很多方法是新加的,而且是以擴充套件方法的形式來呈現,但我們會發現引用的命名空間並沒有增加,請看下圖。

這樣,在我們使用擴充套件方法的時候,不並不覺得是擴充套件方法,而是相當於例項中的原生方法。依據這一思路,我們在寫擴充套件方法的時候,也可以將擴充套件方法的命名空間與要擴充套件例項的命名空間保持一致,這樣在引用到該例項的地方,自然就會有相應的擴充套件方法,而不需要額外的再引入命名空間。如果擴充套件方法放在不同的命名空間下,那麼在沒有引用該命名空間時,擴充套件方法是會無法使用,這樣在程式設計的過程中會帶來諸多的不便,所以如果可能的話,建議擴充套件方法的命名空間與原例項的命名空間保持一致。下面舉個例子。

假如我們需要判斷一些浮點數是否是整數,一般的判斷方法是通過計算然後確定。但因為這個方法用的比較頻繁,所以我們希望能直接在浮點數本身呼叫,為此我們給float型別增加了乙個擴充套件方法,並與float保持在同乙個命名空間下。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace system}}

呼叫如下

會發現,呼叫起來相當方便,就像是float中原生的一樣,而且還不需要額外引用命名空間。

Qt中擴充套件外掛程式 命名空間的問題

建立qt建立時,需要特別注意命名空間。比如有虛介面 注意到q declare inte ce sic font,ict.imap.sic.font 1.0 不能在命名空間中,因此類必須包含有命名空間,即為sic font。實現的標頭檔案為 特別注意 q inte ces sic font 必須是si...

c 中regex的命名空間 c 命名空間

system.transactions 命名空間 注意 此命名空間在 net framework 2.0 版中是新增的。使用 system.transactions 命名空間包含的類可以編寫自己的事務應用程式和資源管理器。具體地說,可以建立和參與 與乙個或多個參與者 本地或分布式事務。system....

命名空間的引用方法

1.同一檔案內使用namespace 1 namespace的三種引用方法 方式一 ace mutex mutex 例如 namespace ns1 void func1 void void func1 void int main void 方式二 using ace mutex 一次性只宣告了指定...