Both the compliant and noncompliant examples are missing the async
modifier for the function. That is what determines if the method should be suffixed with Async or not.
current compliant example
public class Foo
{
public Task ReadAsync(byte [] buffer, int offset, int count, CancellationToken cancellationToken)
}
what it should be
public class Foo
{
public async Task ReadAsync(byte [] buffer, int offset, int count, CancellationToken cancellationToken) {}
}
… though even this is strange as the method name is Read
but this doesnt return the result of reading anything.