c# code writing specification