![C#委托跨跨模块传值](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
个人感觉C#里的委托有点像C里面的函数指针。下面就简单说说跨模块传值吧。
一般而言,我们如果A类中有B类,那么A类可以调用B类的值,而B类是无法调用A类的值的。而,我们想通过操作B类对A类的某些值进行操作的话,就可以利用委托。
假设是以下函数模型
模块 A()
{
}
模块 B( )
{
}
我们想通过B中的函数修改A中str的值,就可以定义一个委托 delegatemydel名称吧,然后在模块B中定义个委托类型的变量,可以传入委托函数。如下
模块B()
{
}
定义好之后,del的值怎么传入呢,怎么给del赋值呢,这就需要用到两个模块之间的构造函数,假设为类
就按如下:并编写一个函数去调用del;但现在在B中还是无法访问到A中内容的。
模块B()
{
}
模块A()
{
string str;
void testA(string strB)
{
}
}
这就就将A中的str的值和testA传给了B中,然后在B中进行修改赋值就会影响A了。
实际例子过段时间找一个传上来。