2011-01-06 61 views
8

所以,我有一個方法是這樣定義的存儲庫:ReSharper的智能感知問題的擴展方法

IQueryable<Customer> Customers{...} 

和其他地方的擴展方法來篩選客戶像這樣:

public static IQueryable<Customer> WithID(this IQueryable<Customer> customers, int ID){...} 

和這很好地讓我使用這樣的存儲庫:

var c = repo.Customers().WithID(5).Single(); 

但問題是,ReShar在這個大的時間裏,每一次都會破壞自動完成功能。當我鍵入

var c = repo.Customers().Wi 

我得到很好的智能感知顯示我的WithID(...)方法,但是當我光標到它並按下Tab鍵,不但得不到預期的WithID()方法,它可以追溯到和改變的代碼已經編寫和行結束了尋找,而不是像:

var c = CustomerExtensions.WithID(repo.Customers()) 

這當然讓我不得不回去,並再次鍵入它,此時不用理會智能感知 - 這恕我直言,從來都不是一件好事: )

我確認這是一個ReSharper問題進入選項併爲Intellisense指定「Visual Studio」。我不想回到純粹的工作室!

任何人都可以提供幫助或建議解決方法嗎?

+0

我沒有任何擴展方法的問題。你使用的是什麼版本的ReSharper? – 2011-01-06 23:18:26

+0

R#5.1 VS 2010,Windows 7.框架4.0中的類庫項目。嗯..這發生在我們所有的開發人員,而不僅僅是我。 – 2011-01-07 11:23:11

回答

0

您可以通過使用類型完成(CTRL + ALT + SPACE)將其作爲擴展方法調用,並且這將正確繞過錯誤。

這個錯誤只發生在某些擴展方法上,不知道爲什麼。