在ASP.Net/C#中,可以使用委托来将方法作为字符串返回并在稍后的另一个方法中使用。以下是一个示例代码:
using System;
namespace MethodAsString
{
class Program
{
delegate void MyMethodDelegate(string message);
static void Main(string[] args)
{
string methodName = GetMethodName(); // 获取方法名作为字符串
// 根据方法名创建委托实例
MyMethodDelegate methodDelegate = (MyMethodDelegate)Delegate.CreateDelegate(typeof(MyMethodDelegate), typeof(Program), methodName);
// 调用委托实例的方法
methodDelegate("Hello World");
}
static void MyMethod(string message)
{
Console.WriteLine("MyMethod: " + message);
}
static string GetMethodName()
{
// 在此处根据需要返回方法名作为字符串
return "MyMethod";
}
}
}
在上面的示例中,MyMethod
方法被转换为字符串并存储在methodName
变量中。然后,使用Delegate.CreateDelegate
方法根据方法名创建了一个委托实例methodDelegate
。最后,调用委托实例的方法时,将传递字符串参数作为消息。
请注意,Delegate.CreateDelegate
方法的第一个参数是委托类型,第二个参数是所属类型,第三个参数是方法名字符串。确保在使用此方法之前,已经定义了委托类型和相应的方法。