|
1
6
基本上是这样的:
|
|
|
2
33
对:
|
|
3
8
我会对这里提供的其他解决方案保持警惕。调用codedomprovider.createprovider需要查找和分析machine.config文件以及app.config文件。这可能比检查自己的字符串所需的时间慢几倍。 相反,我建议您进行以下更改之一:
|
|
|
4
4
用 Roslyn 作为开源软件,代码分析工具就在您的指尖,它们是为性能而编写的。(现在他们在预发行版中)。 但是,我不能谈论装载组件的性能成本。 使用Nuget安装工具:
问你的问题:
|
|
5
4
在这里行尸走肉。 在.NET core/dnx中,您可以使用Roslyn SyntaxFacts来完成它。
代码域提供者.cs
然后是csharpcodeprovider.cs
然后是csharpcodegenerator.cs
你得到这个代码:
|
|
|
6
3
最近,我编写了一个扩展方法来验证字符串是否为有效的C标识符。 您可以在这里找到实现的要点: https://gist.github.com/FabienDehopre/5245476 它基于标识符的msdn文档( http://msdn.microsoft.com/en-us/library/aa664670(v=vs.71).aspx )
|
|
|
7
2
现在发布的
Roslyn
项目提供
在这里,它被使用,在一个简单的函数中,我用来把名词短语(例如“开始日期”)转换成C标识符(例如“开始日期”)。N. B我在用 Humanizer 进行驼色大小写转换,并检查Roslyn字符是否有效。
测验;
|
|
|
8
1
这可以通过反射来完成-请参见 How to determine if a string is a valid variable name? |