在做一个类ClassA,想调用类外部的方法FunctionA()。C++里可以把指针传过去,但C#里怎么处理?在尝试委托,可是还是没有搞明白应该怎么用。ClassA将来会做成一个Dll文件,但是这个FunctionA()中的处理是根据需要随时更改的;对于ClassA的每一个实例,FunctionA()可能会不同。请教各位老师了~~~~谢谢。
解决方案 »
- 在 System.InvalidOperationException 中第一次偶然出现的“System.dll”类型的异常
- C++的一段代码帮转成C#高分求助!!![2000]
- c#GDI+绘图怎么样储存
- 如何通过一个应用程序更改另个应用程序的版本号?
- 如何添加缩略图按钮
- 新手提问:我要用C#开发一个CS模式的软件,又想在其中嵌入流览器,这种CS+BS的模式可以实现吗?
- stephenZL接分,答应了解决问题后600分
- C#中使用SQL语句
- 如何通过DataGridView对数据库里面的多个表进行增删改啊?
- C# 非正常关闭服务端所造成的客户端连接异常
- 关于在C#.net2005应用程序中创建Word文档的问题
- 想请教如何按特定字符读取txt文件
qiujsh:是ClassA调用ClassA外的方法,不是外部调用ClassA里的方法。
public class A
{
public void Test()
{
if (VFunctionA != null) VFunctionA.Invoke();
} public delegate void FunctionA();
public FunctionA VFunctionA;
}
A a1 = new A();
a1.VFunctionA = new A.FunctionA(FunctionA1);
a1.Test();
A a2 = new A();
a2.VFunctionA = new A.FunctionA(FunctionA2);
a2.Test();
public void FunctionA1()
{
MessageBox.Show("A1");
} public void FunctionA2()
{
MessageBox.Show("A2");
}不知道是不是这个意思
cryeyes:可是这个ClassB也是不确定的。比如,在一个类中,我要同时使用ClassA的两个实例,他们所调用的对应的FunctionA是不一样的。
只需给每个classb都加上interfaceA的实现ClassA的实例实现的具体方法取决于你传入的classB的实例接口只是用来提前申明一个参数的位置,因为是强类型