/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// Obj.cs - Demonstrates automatic boxing and unboxing to pass an
// undetermined data type to a function.
// Compile this program with the following command line:
// C:>csc Obj.cs
//
namespace nsObject
{
using System;
public class Obj
{
static public void Main ()
{
double d = 3.14159;
// Pass a double to Square ()
object o = Square (d);
ShowSquare (o);
// Pass an int to Square ()
o = Square (42);
ShowSquare (o);
// Pass a float to Square ()
o = Square (2.71828F);
ShowSquare (o);
}
// Square () returns the boxed square of a value if the data type is
// int or double. Otherwise, Square() returns a null reference
static object Square (object o)
{
if (o is double)
return ((double) o * (double) o);
if (o is int)
return ((int) o * (int) o);
return (null);
}
static public void ShowSquare (object o)
{
if (Object.Equals (o, null))
Console.WriteLine ("The object is null");
else
Console.WriteLine ("The square is " + o);
}
}
}
|