Invariants C# with Example



Invariants C# with Example

namespace CodeContractsDemo 
{ 
using System; 
using System.Diagnostics.Contracts; 
public class Point 
{ 
public int X { get; set; } 
public int Y { get; set; } 
public Point() 
{ 
} 
public Point(int x, int y) 
{ 
this.X = x; 
this.Y = y; 
} 
public void Set(int x, int y) 
{ 
this.X = x; 
this.Y = y; 
} 
public void Test(int x, int y) 
{ 
for (int dx = -x; dx <= x; dx++) { 
this.X = dx; 
Console.WriteLine("Current X = {0}", this.X); 
} 
for (int dy = -y; dy <= y; dy++) { 
this.Y = dy; 
Console.WriteLine("Current Y = {0}", this.Y); 
} 
 

Console.WriteLine("X = {0}", this.X); 
Console.WriteLine("Y = {0}", this.Y); 
} 
[ContractInvariantMethod] 
private void ValidateCoordinates() 
{ 
Contract.Invariant(this.X >= 0); 
Contract.Invariant(this.Y >= 0); 
} 
} 
} 

0 Comment's

Comment Form