Outcome is the ultimate result wrapper! It's great for those awkward moments when you need to return a value, but you might also need to return a list of validation messages, warnings, or a success bit.
It's a fluent, expressive, easy-to-learn spin on the Notification pattern, with a few careful tweaks.
Outcome is particularly useful in MVC projects that do a lot of AJAX calls. If you serialize Outcome objects back to the client, you end up with a standard interface for most of your callbacks, and that opens doors for reuse on the JavaScript side.
Check out the getting started guide.
First, install NuGet. Then, install Outcome.NET from the package manager console:
PM> Install-Package Ether.Outcomes
Outcome.NET is Copyright © 2014 Brian MacKay, Kinetiq, and other contributors under the MIT license.