c# - 通过代码创建 chsarp 文档字符串
问题描述
我的目标是使用这个 roslyn 禁止的 api 分析器来禁止 System.Linq.Enumerable 中的大多数方法。
我想以某种方式生成这些方法文档字符串。(文档)。
例子:
namespace Acme
{
struct ValueType
{
public void M(int i) {...}
}
class Widget: IProcess
{
public class NestedClass
{
public void M(int i) {...}
}
public static void M0() {...}
public void M1(char c, out float f, ref ValueType v) {...}
public void M2(short[] x1, int[,] x2, long[][] x3) {...}
public void M3(long[][] x3, Widget[][,,] x4) {...}
public unsafe void M4(char *pc, Color **pf) {...}
public unsafe void M5(void *pv, double *[][,] pd) {...}
public void M6(int i, params object[] args) {...}
}
class MyList<T>
{
public void Test(T t) { }
}
class UseList
{
public void Process(MyList<int> list) { }
public MyList<T> GetValues<T>(T inputValue) { return null; }
}
}
"M:Acme.ValueType.M(System.Int32)"
"M:Acme.Widget.NestedClass.M(System.Int32)"
"M:Acme.Widget.M0"
"M:Acme.Widget.M1(System.Char,System.Single@,Acme.ValueType@)"
"M:Acme.Widget.M2(System.Int16[],System.Int32[0:,0:],System.Int64[][])"
"M:Acme.Widget.M3(System.Int64[][],Acme.Widget[0:,0:,0:][])"
"M:Acme.Widget.M4(System.Char*,Color**)"
"M:Acme.Widget.M5(System.Void*,System.Double*[0:,0:][])"
"M:Acme.Widget.M6(System.Int32,System.Object[])"
"M:Acme.MyList`1.Test(`0)"
"M:Acme.UseList.Process(Acme.MyList{System.Int32})"
"M:Acme.UseList.GetValues``(``0)"
有没有一种构建方式?你会使用反射构建这些字符串吗?
解决方案
推荐阅读
- python - Python super() can't call parent's inherited method
- angular - 自定义 ValidatorFn - Angular 6
- python - scikit 在 jupyter 笔记本上学习
- python - 在节点 js 中设置环境变量并在 python 脚本中使用
- gcc - 在编译中检测 -mconsole 和 -mwindows
- javascript - jQuery 对话框在页面加载时触发,试图在点击时触发
- python - 如何计算与给定ID匹配的多行之间的平均值
- java - Spring Boot 应用程序无法初始化类 org.apache.logging.log4j.util.PropertiesUtil
- angular - primeNg 获取节点属性
- node.js - 如何将交易系统构建到 .then() 链中?