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
20
MethodInfo method = type.GetMethod(methodName);//提取方法信息
21
object obj = assembly.CreateInstance(typeName);//创建实例
22
23
object s = method.Invoke(obj,parameters);//new object[]{"jiangli"});
24
assembly = null;
25
type = null;
26
method =null;
27

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

从这段代码中可以看出,这是需要动态链接库的。而Java却没有,怎么用呢?这是摆在面前的一个问题。再仔细看看他的说明,他们在ASP中是这么调用的,Set Obj = Server.CreateObject("ccb.pub.RSAsig"),灵机一动,在VB中是不是也可以这么用呢?马上就就在VB中作了一个实验,结果成功了,VB中的代码是这样实现的:
































于是就把它封装成类库,然后在C#中调用,OK,成功了。苦苦寻找了一个星期.net怎么调用Java类中的方法,终于在此画上了一个句号。
不知道这算不算是.net和java互操作的一个案例。希望这篇文章能对还正在苦苦寻觅.net和java互操作的朋友有点启发。