/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
//
// Property.cs -- Demonstrates access to a private field through a property.
// Compile this program with the following command line:
// C:>csc Property.cs
//
namespace nsProperty
{
using System;
public class Property
{
const double radian = 57.29578;
const double pi = 3.14159;
int Angle
{
get
{
int angle = (int) (fAngle * radian + 0.5);
angle = angle == 360 ? 0 : angle;
return (angle);
}
set
{
double angle = (double) value / radian;
if (angle < (2 * pi))
{
fAngle = angle;
Console.WriteLine ("fAngle set to {0,0:F5}", fAngle);
}
else
{
Console.WriteLine ("fAngle not modified");
}
}
}
double fAngle = 0.0; // Angle in radians
static public int Main (string [] args)
{
int angle;
try
{
angle = int.Parse (args[0]);
}
catch (IndexOutOfRangeException)
{
Console.WriteLine ("usage: circle [angle in degrees]");
return (-1);
}
catch (FormatException)
{
Console.WriteLine ("Please use a number value for the angle in degrees");
return (-1);
}
Property main = new Property();
main.Angle = angle;
Console.WriteLine ("The angle is {0} degrees", main.Angle);
return (0);
}
}
}
|