using
System;
using System.Collections.Generic;
using System.Text;
namespace Ch11Ex04
... {
interface IMyInterface
...{ }
class ClassA : IMyInterface
...{ }
class ClassB : IMyInterface
...{ }
//ClassC 类没有任何继承
class ClassC
...{ }
class ClassD : ClassA
...{
}
struct MyStruct : IMyInterface
...{
}
class Checker
...{
public void Check(object paraml)
...{
if (paraml is ClassA)
Console.WriteLine("Variable can be converted to ClassA.");
else
Console.WriteLine("Variable can't be converted to ClassA.");
if (paraml is IMyInterface)
Console.WriteLine("Variable can be converted to IMyInterface.");
else
Console.WriteLine("Variable can't be converted to IMyInterface.");
if (paraml is MyStruct)
Console.WriteLine("Variable can be converted to MyStruct.");
else
Console.WriteLine("Variable can't be converted to MyStruct.");
}
}
class Program
...{
static void Main(string[] args)
...{
Checker check = new Checker();
ClassA try1 = new ClassA();
ClassB try2 = new ClassB();
ClassC try3 = new ClassC();
ClassD try4 = new ClassD();
MyStruct try5 = new MyStruct();
object try6 = try5;
Console.WriteLine("Analyzin ClassA type variable:");
check.Check(try1);
Console.WriteLine(" Analyzin ClassB type variable:");
check.Check(try2);
Console.WriteLine(" Analyzin ClassC type variable:");
check.Check(try3);
Console.WriteLine(" Analyzin ClassD type variable:");
check.Check(try4);
Console.WriteLine(" Analyzin MyStruct type variable:");
check.Check(try5);
Console.WriteLine(" Analyzin boxed MyStruct type variable:");
check.Check(try6);
Console.ReadKey();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace Ch11Ex04
... {
interface IMyInterface
...{ }
class ClassA : IMyInterface
...{ }
class ClassB : IMyInterface
...{ }
//ClassC 类没有任何继承
class ClassC
...{ }
class ClassD : ClassA
...{
}
struct MyStruct : IMyInterface
...{
}
class Checker
...{
public void Check(object paraml)
...{
if (paraml is ClassA)
Console.WriteLine("Variable can be converted to ClassA.");
else
Console.WriteLine("Variable can't be converted to ClassA.");
if (paraml is IMyInterface)
Console.WriteLine("Variable can be converted to IMyInterface.");
else
Console.WriteLine("Variable can't be converted to IMyInterface.");
if (paraml is MyStruct)
Console.WriteLine("Variable can be converted to MyStruct.");
else
Console.WriteLine("Variable can't be converted to MyStruct.");
}
}
class Program
...{
static void Main(string[] args)
...{
Checker check = new Checker();
ClassA try1 = new ClassA();
ClassB try2 = new ClassB();
ClassC try3 = new ClassC();
ClassD try4 = new ClassD();
MyStruct try5 = new MyStruct();
object try6 = try5;
Console.WriteLine("Analyzin ClassA type variable:");
check.Check(try1);
Console.WriteLine(" Analyzin ClassB type variable:");
check.Check(try2);
Console.WriteLine(" Analyzin ClassC type variable:");
check.Check(try3);
Console.WriteLine(" Analyzin ClassD type variable:");
check.Check(try4);
Console.WriteLine(" Analyzin MyStruct type variable:");
check.Check(try5);
Console.WriteLine(" Analyzin boxed MyStruct type variable:");
check.Check(try6);
Console.ReadKey();
}
}
}