读书人

有没有办法判断一个类的实例何时被调用

发布时间: 2012-02-29 16:44:11 作者: rapoo

有没有办法判断一个类的实例何时被调用了?
有没有办法判断一个类的实例何时被调用了?
例如:

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

读书人网 >C#

热点推荐