public static void cc(Object xx)
{
aa a= xx as aa;
if(a!=null)
{
console.writeline(a.name);
}bb b= xx as bb;
if(b!=null)
{
console.writeline(b.name);
}
}
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070127http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
{
aa a= xx as aa;
if(a!=null)
{
console.writeline(a.name);
}bb b= xx as bb;
if(b!=null)
{
console.writeline(b.name);
}
}
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070127http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
aa和bb是他的派生类.
static void Main(string[] args)
{
aa a = new aa();
a.name = "aaa"; bb b = new bb();
b.name = "bbb"; cc(a);
cc(b);
Console.Read();
}
public static void cc(Object a)
{
if (a is aa) //ConsoleApplication1.aa //参数名别和类重名
Console.WriteLine(((aa)a).name);
if (a is bb) //ConsoleApplication1.aa //参数名别和类重名
Console.WriteLine(((bb)a).name);
}
{
protected string name;
public string name
{
set {name=value;}
}
public virtual void say()
{
Console.WriteLine("My name is "+name);
}
}class aa :person
{
public override void say()
{
Console.WriteLine("My name is "+name);
}
}class bb :person
{
public override void say()
{
Console.WriteLine("My name is "+name);
}
} static void Main(string[] args)
{
aa a = new aa();
a.name = "aaa"; bb b = new bb();
b.name = "bbb"; cc(a或b2个类);//传a输出aaa传b输出bbb
Console.Read();
}
public void cc(person obj)
{
obj.say();
}
这个问题是我看nHibernate发现的。
例如ISession类的一个save方法
public Object Save(Object obj)
他就可以任意传对象。。不知道怎么实现的就可以获得传的对象的实力,然后插入到数据库。
比如传一个自己写的User类。我想 到方法里面一定会把obj转成User类 然后获得User的属性插入到数据库里。。