任何人都知道IL/CLR是如何生成本地函数C#7

c#

c#-7.0

https://www.infoworld.com/article/3182416/c-7-in-depth-exploring-local-functions.html

我真的需要确切地知道本地函数应该如何遵循代码。

是 0% IL 代码/MSIL 经验。

  public static void Display(string str)
    {
        int ctr = 5;
        DisplayText();

        void DisplayText ()
        {
            for(int i = 0; i < ctr; i++)
            Console.WriteLine(str);
        }
    }

我需要从以前的代码中了解的问题:

  1. 如果我们调用 main 函数,Display()是否DisplayText()总是在调用 main 函数时生成Local Function ?或者它在 C# 中创建为一个假的本地函数,但在 MSIL 中它生成为全局函数?
  2. 在lamda表达式中?上面一样吗?
  3. 依赖本地函数是否安全?或者我们无论如何都不要使用它。(性能可能idk

编辑:-我认为本地属性(尚不存在或可能......)。有时也很有用。您可以在与本地属性相同的方法中进行一些计算。如上一个示例,但 DisplayText 是属性。希望他们也添加它。

以上是任何人都知道IL/CLR是如何生成本地函数C#7的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>