APISampleUnitTestsCS.FAQ.AddMethodToClass C# (CSharp) Метод

AddMethodToClass() приватный Метод

private AddMethodToClass ( ) : void
Результат void
        public void AddMethodToClass()
        {
            var tree = SyntaxTree.ParseText(@"
            class C
            {
            }");
            var compilationUnit = (CompilationUnitSyntax)tree.GetRoot();

            // Get ClassDeclarationSyntax corresponding to 'class C' above.
            ClassDeclarationSyntax classDeclaration = compilationUnit.ChildNodes()
                .OfType<ClassDeclarationSyntax>().Single();

            // Construct a new MethodDeclarationSyntax.
            MethodDeclarationSyntax newMethodDeclaration =
                Syntax.MethodDeclaration(Syntax.ParseTypeName("void"), "M")
                    .WithBody(Syntax.Block());

            // Add this new MethodDeclarationSyntax to the above ClassDeclarationSyntax.
            ClassDeclarationSyntax newClassDeclaration =
                classDeclaration.AddMembers(newMethodDeclaration);

            // Update the CompilationUnitSyntax with the new ClassDeclarationSyntax.
            CompilationUnitSyntax newCompilationUnit =
                compilationUnit.ReplaceNode(classDeclaration, newClassDeclaration);

            // Format the new CompilationUnitSyntax.
            newCompilationUnit = (CompilationUnitSyntax)newCompilationUnit.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot();

            Assert.AreEqual(@"
            class C
            {
            void M()
            {
            }
            }", newCompilationUnit.ToFullString());
        }