Y
Your_Persona
Is there a way to get effect1 with the method in effect2?
/////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// effect1
//daddy's name is Adam
Console.WriteLine(new grandParent().daddy());
//daddy's name is Bill who's daddy's name is Adam
Console.WriteLine(new parent().daddy());
//daddy's name is Charlie who's daddy's name is Bill
// who's daddy's name is Adam
Console.WriteLine(new child1().daddy());
//daddy's name is Chingy who's daddy's name is Bill
// who's dadd's name is Adam
Console.WriteLine(new child2().daddy());
//daddy's name is Champy who's daddy's name is Bill
// who's dadd's name is Adam
Console.WriteLine(new child3().daddy());
List<grandParent> aList = new List<grandParent>();
aList.Add(new grandParent());
aList.Add(new parent());
aList.Add(new child1());
aList.Add(new child2());
aList.Add(new child3());
// effect2
foreach (grandParent aObject in aList)
{ //daddy is Adam
Console.WriteLine(aObject.daddy()); //daddy is Adam
} //daddy is Adam
Console.WriteLine("Press the any key");
Console.ReadLine();
}
}
class grandParent
{
public virtual string daddy()
{
return " daddy's name is Adam";
}
}
class parent : grandParent
{
public virtual string daddy()
{
string ret = " daddy's name is Bill";
return ret + " who's " + base.daddy();
}
}
class child1 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Charlie";
return ret + " who's " + base.daddy();
}
}
class child2 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Chingy";
return ret + " who's " + base.daddy();
}
}
class child3 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Champy";
return ret + " who's " + base.daddy();
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
OUTPUT
daddy's name is Adam
daddy's name is Bill who's daddy's name is Adam
daddy's name is Charlie who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Chingy who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Champy who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
////////////////////////////////////////////////////////////////////////////////////////////
I want to be able to invoke the child most method with out testing for
type, only knowing that the method is implemented.
any ideas?
thanks
Austin
/////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// effect1
//daddy's name is Adam
Console.WriteLine(new grandParent().daddy());
//daddy's name is Bill who's daddy's name is Adam
Console.WriteLine(new parent().daddy());
//daddy's name is Charlie who's daddy's name is Bill
// who's daddy's name is Adam
Console.WriteLine(new child1().daddy());
//daddy's name is Chingy who's daddy's name is Bill
// who's dadd's name is Adam
Console.WriteLine(new child2().daddy());
//daddy's name is Champy who's daddy's name is Bill
// who's dadd's name is Adam
Console.WriteLine(new child3().daddy());
List<grandParent> aList = new List<grandParent>();
aList.Add(new grandParent());
aList.Add(new parent());
aList.Add(new child1());
aList.Add(new child2());
aList.Add(new child3());
// effect2
foreach (grandParent aObject in aList)
{ //daddy is Adam
Console.WriteLine(aObject.daddy()); //daddy is Adam
} //daddy is Adam
Console.WriteLine("Press the any key");
Console.ReadLine();
}
}
class grandParent
{
public virtual string daddy()
{
return " daddy's name is Adam";
}
}
class parent : grandParent
{
public virtual string daddy()
{
string ret = " daddy's name is Bill";
return ret + " who's " + base.daddy();
}
}
class child1 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Charlie";
return ret + " who's " + base.daddy();
}
}
class child2 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Chingy";
return ret + " who's " + base.daddy();
}
}
class child3 : parent
{
public virtual string daddy()
{
string ret = " daddy's name is Champy";
return ret + " who's " + base.daddy();
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
OUTPUT
daddy's name is Adam
daddy's name is Bill who's daddy's name is Adam
daddy's name is Charlie who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Chingy who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Champy who's daddy's name is Bill who's daddy's name
is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
daddy's name is Adam
////////////////////////////////////////////////////////////////////////////////////////////
I want to be able to invoke the child most method with out testing for
type, only knowing that the method is implemented.
any ideas?
thanks
Austin