Code
1 下面的代码将名为“example.exe”或“example.dll”的程序集加载到当前应用程序域中,从该程序集获取名为 Example 的类型,为该类型获取名为 MethodA 的无参数方法,然后执行该方法。有关从所加载程序集中获取信息的完整讨论,请参见动态加载和使用类型。
2
3 Visual Basic 复制代码
4 Imports System
5 Imports System.Reflection
6
7 Public Class Asmload0
8 Public Shared Sub Main()
9 ' Use the file name to load the assembly into the current
10 ' application domain.
11 Dim a As [Assembly] = [Assembly].Load("example")
12 ' Get the type to use.
13 Dim myType As Type = a.GetType("Example")
14 ' Get the method to call.
15 Dim mymethod As MethodInfo = myType.GetMethod("MethodA")
16 ' Create an instance
17 Dim obj As Object = Activator.CreateInstance(myType)
18 ' Execute the method.
19 mymethod.Invoke(obj, Nothing)
20 End Sub
21 End Class
22
23 C# 复制代码
24 using System;
25 using System.Reflection;
26
27 public class Asmload0
28 {
29 public static void Main ()
30 {
31 // Use the file name to load the assembly into the current
32 // application domain.
33 Assembly a = Assembly.Load("example");
34 // Get the type to use.
35 Type myType = a.GetType("Example");
36 // Get the method to call.
37 MethodInfo mymethod = myType.GetMethod("MethodA");
38 // Create an instance.
39 Object obj = Activator.CreateInstance(myType);
40 // Execute the method.
41 mymethod.Invoke(obj,null);
42 }
43 }
44
45
1 下面的代码将名为“example.exe”或“example.dll”的程序集加载到当前应用程序域中,从该程序集获取名为 Example 的类型,为该类型获取名为 MethodA 的无参数方法,然后执行该方法。有关从所加载程序集中获取信息的完整讨论,请参见动态加载和使用类型。
2
3 Visual Basic 复制代码
4 Imports System
5 Imports System.Reflection
6
7 Public Class Asmload0
8 Public Shared Sub Main()
9 ' Use the file name to load the assembly into the current
10 ' application domain.
11 Dim a As [Assembly] = [Assembly].Load("example")
12 ' Get the type to use.
13 Dim myType As Type = a.GetType("Example")
14 ' Get the method to call.
15 Dim mymethod As MethodInfo = myType.GetMethod("MethodA")
16 ' Create an instance
17 Dim obj As Object = Activator.CreateInstance(myType)
18 ' Execute the method.
19 mymethod.Invoke(obj, Nothing)
20 End Sub
21 End Class
22
23 C# 复制代码
24 using System;
25 using System.Reflection;
26
27 public class Asmload0
28 {
29 public static void Main ()
30 {
31 // Use the file name to load the assembly into the current
32 // application domain.
33 Assembly a = Assembly.Load("example");
34 // Get the type to use.
35 Type myType = a.GetType("Example");
36 // Get the method to call.
37 MethodInfo mymethod = myType.GetMethod("MethodA");
38 // Create an instance.
39 Object obj = Activator.CreateInstance(myType);
40 // Execute the method.
41 mymethod.Invoke(obj,null);
42 }
43 }
44
45