前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

作者头像
林德熙
发布2019-03-13 16:09:33
5240
发布2019-03-13 16:09:33
举报
文章被收录于专栏:林德熙的博客林德熙的博客

本文告诉大家经常使用的 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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档