コード例 #1
0
ファイル: FieldGenerator.cs プロジェクト: EkardNT/Roslyn
        private static MemberDeclarationSyntax LastField(
            SyntaxList<MemberDeclarationSyntax> members,
            FieldDeclarationSyntax fieldDeclaration)
        {
            var lastConst = members.AsEnumerable()
                              .OfType<FieldDeclarationSyntax>()
                              .Where(f => f.Modifiers.Any(SyntaxKind.ConstKeyword)).LastOrDefault();

            // Place a const after the last existing const.
            if (fieldDeclaration.Modifiers.Any(SyntaxKind.ConstKeyword))
            {
                return lastConst;
            }

            // Place a field after the last field, or after the last const.
            return LastField(members) ?? lastConst;
        }