可以通俗的讲下C# 构造函数 析构函数 和回调函数 么?
1个回答
展开全部
1.构造函数:和方法名是一样名称 但是没有返回值的函数
用法:
public class Student
{
public Student(){}这个就是构造函数
}
作用:主要是为了初始化一些数据。
2.析构函数
用的比较少,因为在.NET 中垃圾回收机制,没有开发人自动去释放。构函数名也应与类名相同,只是在函数名前面加一个波浪符~
用法:
public class Student
{
}
~Student(){}这个就是析构函数 注意前面有一个 波浪线
作用:析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
3.回调函数
C# 里面这个东西一般指某个委托.其实也可以是接口.
delegate void WorkDone();
void Working(WorkDone callBack){
//Working code.
//当工作完成的时候执行这个委托.
callBack();
}
void WorkDoneHandler(){
//Do something other.
}
void Do(){
WorkDone callBack = new WorkDone(WorkDoneHandler);
Working(callBack);
}
也就是相当把某个方法(WorkDoneHandler())当作参数传递给另外一个方法(Working(WorkDone callBack)).
这样做的好处在于,可以动态的指定执行哪个方法.
比如在Do()方法中,我们指定的callback 是WorkDoneHandler 当然也可以是其它匹配的方法. 而Working()方法 更本不需要知道自己最后执行的是哪个Handler.
这个要多看看委托和事件 比较难。
有问题 在讨论。
用法:
public class Student
{
public Student(){}这个就是构造函数
}
作用:主要是为了初始化一些数据。
2.析构函数
用的比较少,因为在.NET 中垃圾回收机制,没有开发人自动去释放。构函数名也应与类名相同,只是在函数名前面加一个波浪符~
用法:
public class Student
{
}
~Student(){}这个就是析构函数 注意前面有一个 波浪线
作用:析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
3.回调函数
C# 里面这个东西一般指某个委托.其实也可以是接口.
delegate void WorkDone();
void Working(WorkDone callBack){
//Working code.
//当工作完成的时候执行这个委托.
callBack();
}
void WorkDoneHandler(){
//Do something other.
}
void Do(){
WorkDone callBack = new WorkDone(WorkDoneHandler);
Working(callBack);
}
也就是相当把某个方法(WorkDoneHandler())当作参数传递给另外一个方法(Working(WorkDone callBack)).
这样做的好处在于,可以动态的指定执行哪个方法.
比如在Do()方法中,我们指定的callback 是WorkDoneHandler 当然也可以是其它匹配的方法. 而Working()方法 更本不需要知道自己最后执行的是哪个Handler.
这个要多看看委托和事件 比较难。
有问题 在讨论。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询