effective c# complete