无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

不同程序集,名稱空間類名和方法簽名都一樣的方法,如何調(diào)用

2023-02-21 08:35 作者:Newbe36524  | 我要投稿

有時(shí)候,你可能會(huì)遇到這樣的問(wèn)題,不同程序集,名稱空間類名和方法簽名都一樣的方法,如何調(diào)用。本文將介紹如何通過(guò)別名的方式來(lái)解決這個(gè)問(wèn)題。

創(chuàng)建兩個(gè)不同的程序集

我們來(lái)創(chuàng)建兩個(gè)不同的程序集,但是他們的名稱空間一樣:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

修改他們的 RootNamespace 為 Example:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

然后,我們?cè)趦蓚€(gè)程序集中都創(chuàng)建一個(gè)類,類名也一樣,并且添加一個(gè)自定義 Where 擴(kuò)展方法:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

創(chuàng)建一個(gè)控制臺(tái)應(yīng)用

然后,我們創(chuàng)建一個(gè)控制臺(tái)應(yīng)用,來(lái)調(diào)用這兩個(gè)程序集中的 Where 方法:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

然后,我們?cè)诳刂婆_(tái)應(yīng)用中調(diào)用這兩個(gè)程序集中的 Where 方法:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

如果是這樣的話,我們會(huì)得到這個(gè)錯(cuò)誤:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

通過(guò)別名的方式來(lái)解決

我們可以通過(guò)別名的方式來(lái)解決這個(gè)問(wèn)題,首先修改項(xiàng)目文件,設(shè)置兩個(gè)程序集的別名:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

然后,我們?cè)诳刂婆_(tái)應(yīng)用中調(diào)用這兩個(gè)程序集中的 Where 方法:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

運(yùn)行就會(huì)得到這樣的結(jié)果:

Bilibili 代碼塊無(wú)法正常渲染,因此無(wú)法正常顯示。請(qǐng)關(guān)注微信公眾號(hào)“newbe技術(shù)專欄”,搜索對(duì)應(yīng)文章代碼內(nèi)容。

為什么會(huì)有這種問(wèn)題

一般來(lái)說(shuō)你會(huì)在三種情況下遇到這個(gè)問(wèn)題:

  1. 某個(gè)開源項(xiàng)目使用 ILmerge 把多個(gè)程序集合并成一個(gè)程序集。其中一個(gè)依賴項(xiàng) A 恰好也是你的依賴項(xiàng),但是 A 的版本和開源項(xiàng)目的依賴項(xiàng) A 的版本不一樣,這時(shí)候你就會(huì)遇到這個(gè)問(wèn)題。

  2. 很早之前 Rx.net 正對(duì) System.Linq.Async 進(jìn)行了支持,而后來(lái)系統(tǒng)也內(nèi)置了 System.Linq.Async。你會(huì)在使用 Rx.net 的時(shí)候遇到這個(gè)問(wèn)題。

  3. 你的同事想考驗(yàn)?zāi)阋幌?,估?jì)把自己寫的 Sqlite 擴(kuò)展和 MSSQL 擴(kuò)展中加入了同樣的方法簽名,然后你就會(huì)遇到這個(gè)問(wèn)題。

總結(jié)

通過(guò)別名的方式,我們可以解決不同程序集,名稱空間類名和方法簽名都一樣的方法,如何調(diào)用的問(wèn)題。

參考

  • extern alias (C# Reference)1

感謝您的閱讀,如果您覺(jué)得本文有用,快長(zhǎng)按右下角大拇指??為本文點(diǎn)贊~

歡迎關(guān)注作者的微信公眾號(hào)“newbe技術(shù)專欄”,獲取更多技術(shù)內(nèi)容。

  • 本文作者: newbe36524

  • 本文鏈接: https://www.newbe.pro/Others/0x022-how-to-call-a-method-with-the-same-method-signature-in-different-assemblies/

  • 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請(qǐng)注明出處!

  1. https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/extern-alias?WT.mc_id=DX-MVP-5003606?


不同程序集,名稱空間類名和方法簽名都一樣的方法,如何調(diào)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
普格县| 大庆市| 石渠县| 广饶县| 怀宁县| 晋城| 邵阳市| 绥江县| 芜湖县| 濮阳市| 闸北区| 许昌县| 昌吉市| 阳泉市| 凤凰县| 景宁| 旌德县| 陇川县| 通河县| 韶山市| 隆林| 南康市| 晴隆县| 嘉兴市| 栾城县| 陵川县| 商都县| 岑溪市| 峨山| 沙坪坝区| 裕民县| 栾城县| 镇远县| 商丘市| 万安县| 嘉禾县| 大安市| 北宁市| 葵青区| 金秀| 青川县|