代码之家  ›  专栏  ›  技术社区  ›  Andrew

.Net-检测所需标识符是否为关键字

  •  2
  • Andrew  · 技术社区  · 16 年前

    我知道我可以简单地引用

    我需要引用的一个例子:

    vb:  Public [Class] As String = "CLASS"
    c#:  public String @class = "CLASS";
    
    4 回复  |  直到 16 年前
        1
  •  7
  •   Daniel LeCheminant    16 年前

    IsValidIdentifier

    [ ]返回[s]true 不冲突 .

    CreateEscapedIdentifier

    测验 是否 标识符与任何 因此,返回一个与 特定于语言的转义码 格式化

        CSharpCodeProvider csProvider = new CSharpCodeProvider();
    
        bool isValid1 = csProvider.IsValidIdentifier("class");
        // returns false
    
        string escapedId1 = csProvider.CreateEscapedIdentifier("foo");
        // escapedId1 = "foo"
        string escapedId2 = csProvider.CreateEscapedIdentifier("do");
        // escapedId2 = "@do"
        string escapedId3 = csProvider.CreateEscapedIdentifier("AndAlso");
        // escapedId3 = "AndAlso" (not reserved in c#)
    
        VBCodeProvider vbProvider = new VBCodeProvider();
    
        string escapedId4 = vbProvider.CreateEscapedIdentifier("AndAlso");
        // escapedId4  = "[AndAlso]" (reserved in VB)
    

    似乎扩展/使用此功能以满足您的需求并不难。

        2
  •  3
  •   BFree    16 年前

    See here . 老兄,乔恩·斯基特到处都是!

        3
  •  2
  •   Craig Stuntz    16 年前

    CodeDOM 已经处理好了吗?您可以通过这种方式构建生成的代码,并自动获得对任何支持CodeDOM的语言的支持。

        4
  •  1
  •   mqp    16 年前

    我不相信有任何自然的方法可以通过编程实现这一点,但是您可以得到C的完整关键字列表# here ,并适用于VB.Net here .