Contract.Requires
is a runtime check (the runtime checks are automatically generated at compile time - see chapters 6.2 and 7 of the documentation). There are also certain static checks that can be performed (see chapter 6.6 of the documentation), but Requires
is a runtime check.
Note that there is a generic overload that'll let you specify the exception that you want thrown (eg, ArgumentNullException)