簡體   English   中英

為什么VS 2008不在Intellisense中為String類顯示擴展方法

[英]Why doesn't VS 2008 display extension methods in Intellisense for String class

由於String實現了IEnumerable<char> ,因此我希望在Intellisense中看到Enumerable擴展方法,例如,在輸入句點時

String s = "asdf";
s.

我期待看到.Select<char>(...) .ToList<char>()等等。我當時驚訝地看到,擴展方法在String類的工作其實這樣做 ,他們只是不出現在Intellisense中。 有人知道為什么嗎? 這可能與這個問題有關。

這是通過明確的設計。 問題是雖然String絕對實現了IEnumerable<T> ,但大多數人都沒有想到它,或者更重要的是以這種方式使用它。

String只有很少的方法。 最初我們沒有過濾String的擴展方法,結果是很多負面反饋。 使用正確的導入,它有時幾乎使方法數量增加了兩倍。 顯示所有擴展方法后,人們常常看不到他們在噪聲中尋找的String方法。

字符串是......簡單類型,最好以這種方式查看:)

完全可以在字符串上調用擴展方法。 它很可能不會出現在intellisense中。

編輯:字符串實際上有很多方法。 但由於它們中的許多都是超載,它們在智能感知中崩潰了。

有關信息,這在VS2010中已經發生了變化(至少在beta 2中)。 看起來這個過濾已被刪除(可能是它引起了太多混亂),現在這些方法與擴展方法字形一起可見。

這應該。

For example you can write it public static string myExtensionMethod(this String yuppi){
}

那應該是在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM