1
Assembly assembly = null;
2
Type type = null;
3
string dllPath = @"c:\Reflected.dll"
4
try
5
{
6
assembly = Assembly.LoadFile(dllPath);
7
type = assembly.GetType(typeName,true,true);//cMyResult
8
}
9
catch(FileNotFoundException)
10
{
11
errMsg = "Could not load Assembly: \""+ dllPath +"\"";
12
return null;
13
}
14
catch(TypeLoadException)
15
{
16
errMsg = "Could not load Type: \"string\" \n from assembly: \"" + dllPath + "\"";
17
return null;
18
}
19![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
20
MethodInfo method = type.GetMethod(methodName);//提取方法信息
21
object obj = assembly.CreateInstance(typeName);//创建实例
22![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
23
object s = method.Invoke(obj,parameters);//new object[]{"jiangli"});
24
assembly = null;
25
type = null;
26
method =null;
27![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
6
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
9
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
14
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
16
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
19
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/None.gif)
从这段代码中可以看出,这是需要动态链接库的。而Java却没有,怎么用呢?这是摆在面前的一个问题。再仔细看看他的说明,他们在ASP中是这么调用的,Set Obj = Server.CreateObject("ccb.pub.RSAsig"),灵机一动,在VB中是不是也可以这么用呢?马上就就在VB中作了一个实验,结果成功了,VB中的代码是这样实现的:
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://fineboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
于是就把它封装成类库,然后在C#中调用,OK,成功了。苦苦寻找了一个星期.net怎么调用Java类中的方法,终于在此画上了一个句号。
不知道这算不算是.net和java互操作的一个案例。希望这篇文章能对还正在苦苦寻觅.net和java互操作的朋友有点启发。