C# Principle