You can call it code contracts or an argument guard. This is a simple implementation that can validate that the current state of a variable or method is as you expect it to be.
If the validation fails, an exception is thrown.
Example code:
public void SomeMethod(int arg1, int arg2)
{
// This line will throw an exception when the arg1 is less or equal to arg2
Guard.Check(() => arg1).IsGreaterThan(arg2);
// This will check that arg1 is not null and that is in some range 1..100
Guard.Check(arg2).IsNotNull().IsInRange(1,100);
// Do stuff
}
Source code can be found on GitHub