专栏首页林德熙的博客Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

本文告诉大家经常使用的 NameSyntax 拿到值的 ToString 和 ToFullString 方法的区别

从代码可以看到 NameSyntax 的 ToString 和 ToFullString 方法是调用 Green 的 ToString 和 ToFullString ,所以具体还需要进入 Green 看是如何写

这里 NameSyntax 的 Green 是 GreenNode ,从 代码可以看到两个方法的区别

使用 ToFullString 会添加前后的空白代码,使用 ToString 的就会去掉前后空白代码,如获取 using lindexi.wpf.Framework 的代码,使用两个不同的函数可以获得不同的值

除了空白,使用 ToFullString 可以拿到换行,如获得类的基类,使用 TypeSyntax 拿到的可能包含换行。

如类型 class lindexi : doubi ,使用两个不同的函数可以看到不同的变量

所以 ToFullString 拿到的变量使用 Trim 就是 ToString 拿到的变量

如果好奇本文开始说的 Green 是什么,请看 理解 Roslyn 中的红绿树(Red-Green Trees) - walterlv


本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/Roslyn-NameSyntax-%E7%9A%84-ToString-%E5%92%8C-ToFullString-%E7%9A%84%E5%8C%BA%E5%88%AB.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • dotnet 使用 Qpush 快速从电脑到手机推送文字

    在手机打字总不是方便,于是就有了 Qpush 这个工具,通过这个工具可以快速从电脑到手机推送文字。 但是这个工具没有找到客户端,于是我就给他写了一个库,通过这个...

    林德熙
  • C# AddRange 添加位置

    有没人想知道, AddRange 添加位置 是哪? 是添加到数组的开始,还是数组的末尾?

    林德熙
  • C# 已知点和向量,求距离的点

    已知一个点 P 和向量 v ,求在这个点P按照向量 v 运行距离 d 的点 B 。

    林德熙
  • 提高Maven下载jar包的速度

    找到settings.xml中的<localRepository>节点,修改为你的只定义路径。如图所示:

    用户1518699
  • 是什么让我们爱上Javascript

        过去,人们对于Javascript一直报着轻视的态度,人们认为它又慢又容易出错,而且在不同浏览器中解释也不一样,但是现在,Javascript确确实实的...

    大江小浪
  • Python虚拟环境:Centos7

    virtualenvwrapper 是virtualenv的扩展管理包,可以将所有的虚拟环境整合在一个目录下。

    弄啥嘞
  • maven打一个可执行的jar包

    Alternatively use "${project.build.directory}/classes/lib" as OutputDirectory to...

    sanmutongzi
  • 这本 JavaScript 教程的作者,拥有 20 多年 Web 开发经验!

    这主要得益于近几年 Native React、Weex 等跨平台移动端开发框架,以及 Electron、NW.js 等跨平台桌面端开发框架的兴起,间接推动了 J...

    GitHubDaily
  • SpringBoot Jar包瘦身 - 跟大文件说再见!

    SpringBoot部署起来配置非常少,如果服务器部署在公司内网,上传速度还行,但是如果部署在公网(阿里云等云服务器上),部署起来实在头疼、就是 编译出来的 J...

    yunlgonn
  • Maven依赖本地jar包,上传第三方jar包

    前言:maven管理项目,经常用到中央仓库没有的第三方jar包,需要将本地的jar包发布到私有库供项目使用。

    王念博客

扫码关注云+社区

领取腾讯云代金券