다음 코드 예제에서는 매개변수가 있거나 없는 메서드를 동적으로 호출하는 방법을 보여줍니다.
<code class="language-csharp">// Assembly1.dll namespace TestAssembly { public class MainClass { public void Execute(string parameter) { // 执行某些操作... } public void ExecuteWithoutParameters() { // 执行某些操作... } } } // 执行程序集 ExecutingAssembly.exe public class ReflectionExample { public void InvokeMethod(string methodName) { Assembly assembly = Assembly.LoadFile("...Assembly1.dll"); // 加载程序集 Type type = assembly.GetType("TestAssembly.MainClass"); // 获取类型 if (type != null) { MethodInfo methodInfo = type.GetMethod(methodName); // 获取方法信息 if (methodInfo != null) { object result = null; ParameterInfo[] parameters = methodInfo.GetParameters(); // 获取参数信息 object instance = Activator.CreateInstance(type); // 创建实例 if (parameters.Length == 0) { result = methodInfo.Invoke(instance, null); // 调用无参数方法 } else { object[] parameterValues = new object[] { "Hello" }; // 参数值 result = methodInfo.Invoke(instance, parameterValues); // 调用带参数方法 } } } } }</code>
위 내용은 C#에서 리플렉션을 사용하여 매개 변수가 있거나 없는 메서드를 동적으로 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!