C#7本地函数:是否允许属性/方面?

use*_*923 6 .net c# attributes postsharp aspect

C#7引入了本地函数(非常棒!).假设我有以下代码:

    using System;
    using PostSharp.Aspects;

    namespace AspectCS7
    {
        class Program
        {
            private static void Main()
            {
                [MyAspect]            
                void LocalFunction()
                {
                    Console.WriteLine("Hello Aspect!");
                }

                LocalFunction();
            }
        }

        [Serializable]
        public class MyAspect : OnMethodBoundaryAspect
        {
            public override void OnEntry(MethodExecutionArgs args)
            {
                Console.WriteLine("Entering Aspect");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

此代码显示编译时错误.是否可以将属性应用于本地函数?

小智 2

局部函数一度允许使用属性。网络上有一些使用属性的本地函数的示例,但它们不再被允许。

更新:这是关于此主题的持续讨论:https://github.com/dotnet/csharplang/issues/794