首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

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

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

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

热点排行