利用C#的反射機制可以實現動態執行代碼的功能。下面是一個簡單的示例,演示了如何利用反射執行一個簡單的動態方法:
using System;
using System.Reflection;
class Program
{
static void Main()
{
// 加載程序集
Assembly assembly = Assembly.GetExecutingAssembly();
// 獲取指定類型
Type type = assembly.GetType("MyNamespace.MyClass");
// 創建對象實例
object obj = Activator.CreateInstance(type);
// 獲取方法信息
MethodInfo method = type.GetMethod("MyMethod");
// 執行方法
method.Invoke(obj, null);
}
}
namespace MyNamespace
{
class MyClass
{
public void MyMethod()
{
Console.WriteLine("Hello, Dynamic World!");
}
}
}
在上面的示例中,我們首先加載了當前程序集,然后獲取了指定類型MyClass
的信息,并創建了該類型的對象實例。接下來,我們獲取了該類型中的方法MyMethod
的信息,并通過反射機制執行了該方法。
通過反射,我們可以在運行時動態加載程序集、獲取類型和方法信息、創建對象實例、調用方法等操作,從而實現代碼的動態執行功能。