zoukankan      html  css  js  c++  java
  • 2018-11-19-Roslyn-NameSyntax-的-ToString-和-ToFullString-的区别

    title author date CreateTime categories
    Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
    lindexi
    2018-11-19 15:22:23 +0800
    2018-7-14 9:28:1 +0800
    Roslyn MSBuild 编译器

    本文告诉大家经常使用的 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

  • 相关阅读:
    zip
    yield
    日记
    cat
    genfromtext
    pytorch易忘
    小程序入门(一)
    (二)连接数据库使用Model对象对数据库进行操作(CRUD)
    (一)Moogose(node.js对数据库进行操作)
    CURD练习
  • 原文地址:https://www.cnblogs.com/lindexi/p/12086065.html
Copyright © 2011-2022 走看看