Неоднозначная ссылка на Func

#visual-studio-2010 #resharper

#visual-studio-2010 #resharper

Вопрос:

Я использую ReSharper 5.1 и Visual Studio 2010.

Если я создам новый проект переносимой библиотеки классов и вставлю следующее:

 using System;

public interface TestInterface<T>
{
    void FindAll(Func<T> f);
}
  

ReSharper выделяет ссылку на ‘Func’ как неоднозначную ссылку. Выбор «Перейти к объявлению» приводит меня к выбору

  • публичный делегат TResult Func<out TResult>(), из mscorlib 4.0.0.0

или

  • публичный делегат TResult Func<TResult>(), из System.Ядро 2.0.5.0

Однако компилятор C # успешно создает этот код. Приостановка ReSharper и выбор «Перейти к определению» указывает на то, что фактическое определение, полученное из System.Core.dll , v4.0.30319

Почему ReSharper запутывается?

Проблема возникает не при использовании стандартного типа проекта библиотеки классов C #, а только с типом проекта переносимой библиотеки классов.

Я заметил эту проблему при изучении исходного кода библиотеки C5 Generic Collection для C # и CLI

Комментарии:

1. Проявляется ли проблема с ReSharper 6.0? Если нет, я бы просто написал об ошибке. Если он компилируется, то R # явно ошибочен.

2. Хороший вопрос. Я установил ReSharper 6.0 — проблема решена. Спасибо! Однако с версией 6.0 я немного обеспокоен большими скачками процессора во время редактирования.

3. ну, R6 очень разочаровывает с точки зрения производительности. Ребята из JetBrains знают об этом и обещают, что все это будет исправлено в 6.1, и EAP для этого уже некоторое время находится в разработке. Он должен был выйти в середине сентября, но сейчас середина октября, и никаких признаков этого, не говоря уже о фактическом выпуске 6.1. Это раздражает — и должно смущать их — что они, по крайней мере, не предоставили некоторые промежуточные версии исправлений для устранения проблем. Если 6.1 не сильно улучшится, я собираюсь потратить свои деньги в другом месте.

4. С ReSharper 6.1.37.86 у меня продолжается та же проблема.