有没有办法判断一个类的实例何时被调用了?
有没有办法判断一个类的实例何时被调用了?
例如:
public class Person
{
public void SayHiTo(Person p)
{
foo();
}
public void ReplyTo()
{
bar();
}
}
比如上面此段代码:
首先实例化两个对象:
Person PA = new Person();
Person PB = new Person();
然后执行:
PA.SayHiTo(PB);
在这个时候PB能够自动执行ReplyTo()方法?
------解决方案--------------------定义个委托
然后在
public void SayHiTo(Person p)
{
foo();
}
里触发事件,试一下?
------解决方案--------------------public class Person
{
public void SayHiTo(Person p)
{
foo();
p.ReplyTo();
}
public void ReplyTo()
{
bar();
}
}
------解决方案--------------------1、在楼上兄弟提及到的,使用 delegate
2、直接写一个方法,放到ctor. 中
------解决方案--------------------public class Person
{
public string Name;
public Person(string s)
{
this.Name = s;
}
public void SayHiTo(Person p)
{
Console.WriteLine(this.Name + "首先向 " + p.Name + "说话 ");
p.ReplyTo(Name);
}
public void ReplyTo(string replayToPerson)
{
Console.WriteLine( "I am replay to : " + replayToPerson);
}
}
调用:
Person pa= new Person( "张三 ");
Person pb = new Person( "李四 ");
pa.SayHiTo(pb);
------解决方案--------------------这种场景最好使用Delegate