XValidation is an easy-to-use framework that provides validation through attributes:

public class UserRepository
{
  [return: NotNull]
  public User GetOrAddUser ([NotEmpty] string username, [IsEmail] string email)
  {
    ...
  }
}

The framework includes a bunch of pre-defined validations: