# Making a C# Object Awaitable Unlike [[Making a Class a Valid Return From an async Method]], making it awaitable seems relatively trivial. All an object has to do is implement the `GetAwaiter` method on the object, which is trivial if you're already wrapping a `Task`. The object returned from `GetAwaiter` must: - Implement [`System.Runtime.CompilerServices.INotifyCompletion`](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.inotifycompletion) - Have `public bool IsCompleted` - Have `public void GetResult()`