在C#中动态执行代码

时间:2009-04-03 18:28:01

标签: c# pointers

我想使用指针动态控制代码执行,基本上是没有堆栈帧的函数指针。执行不会返回到调用位置,而是返回到单个点。

TopOfLoop:
...
Jump(x)


x1:
...
continue

x2:
...
continue

etc.

这可能在c#中吗?感谢。

5 个答案:

答案 0 :(得分:2)

也许使用goto声明?

MSDN上的参考:http://msdn.microsoft.com/en-us/library/13940fs2.aspx

虽然,不建议使用编码方式。请尝试使用代理:

 Func<T,TResutl> or Action<T>

示例:

using System;

public class LambdaExpression
{
   public static void Main()
   {
      Func<string, string> convert = s => s.ToUpper();

      string name = "RIA Guy";
      Console.WriteLine(convert(name));   
   }
}

答案 1 :(得分:1)

就函数指针而言,您可能希望查看c#中的委托。至于其余部分,其他人已经涵盖了这一点。

答案 2 :(得分:1)

这看起来像SWITCH会起作用,它会避免代码中的“goto”(虽然它可能会编译相同的)。

答案 3 :(得分:0)

您可以使用goto。我不会,但它会做你想要的。

答案 4 :(得分:0)

您当然可以通过回调来调用委托,但我不确定如何在goto之外完成“执行不返回调用位置”部分。