Cannot effectively add class to namespace in Roslyn
我正在使用 Roslyn 2.0 和
1 2 3 4 5 | var namespaceNode = SyntaxFactory.NamespaceDeclaration( SyntaxFactory.ParseName("Root.MyNamespace1")); var classNode = SyntaxFactory.ClassDeclaration("MyClass"); namespaceNode.AddMembers(classNode); |
缺少成员
似乎一切正常,但是当我通过调用
1 | namespaceRoot.MyNamespace1{} |
每次我在
,该类也不存在
命名空间中没有成员!我做错了什么?
当我写这个时:
1 | namespaceNode.AddMembers(classNode); |
我在 Visual Studio 2017 社区中收到一条警告,说明正在发生的事情:
RS1014 'NamespaceDeclarationSyntax' is immutable and 'AddMembers' will not have any effect on it. Consider using the return value from 'AddMembers'.
所以你必须
1 | namespaceNode = namespaceNode.AddMembers(classNode); |