I am currently trying to restructure my program to be more OO and to better implement known patterns etc.
I have quite many nested IF-statements and want to get rid of t
You way want to investigate C#4 code contracts.
A pattern often used is DDD specification pattern for abstracting out if statements, although in your case its probably not suitable.