otrzymuję następujący błąd kompilacji z ccrewrite podczas korzystania Code Contracts 1.4.51019.0 w VS2012 na Windows 7 x64: „metoda lub operacja nie jest zaimplementowana. " Kontrakty Code + asynchroniczny w .NET 4.5: „Metoda lub operacja nie jest realizowany”
wydaje się być powodowane przez połączenie udostępniające właściwości i wykorzystania async
metod, które nie posiadają wewnętrzną await
.
etapy reprodukcji:
utworzyć nową klasę bibliotekę z 'full' Runtime umowy sprawdzanie włączone:
namespace CodeContractsAsyncBug
{
using System.Threading.Tasks;
public class Service
{
// Offending method!
public async Task ProcessAsync(Entity entity)
{
var flag = entity.Flag;
}
}
public class Entity
{
public bool Flag { get; set; }
}
}
Czy ktoś doświadczył tego?
Usunięcie modyfikatora "asynchronicznego" rozwiązuje problem, jak sądzę? –
Tak (z wyjątkiem tego, że trzeba będzie zwrócić zadanie). –
To jest projekt Mike'a Barnetta. Lubi otrzymywać pocztę e-mail, więc nie wahaj się zapytać go o ten błąd. mbarnett _at_ microsoft _dot_ com –