使用c#在代码段中创建新的Guid

时间:2009-07-21 19:55:02

标签: c# code-snippets

我想使用Ctl K + Ctl X创建一个intellisense代码片段,它在运行时实际执行代码...例如,我想执行以下操作:

 <![CDATA[string.Format("{MM/dd/yyyy}", System.DateTime.Now);]]>

但是我不想给我那个字符串值,而是希望以指定的格式显示日期。

我想要的另一个例子是创建一个新的Guid但截断到第一个八位字节,所以我想使用System.Guid.NewGuid()创建一个新的Guid;例如,给我{798400D6-7CEC-41f9-B6AA-116B926802FE},但我想从代码片段中获取值:798400D6。

我愿意不使用Intellisense Code Snippet ..我只是觉得这很容易。

3 个答案:

答案 0 :(得分:2)

这是我使用VS Macro

所做的
  Public Sub InsertPartialGuid()            
        Dim objSel As TextSelection = DTE.ActiveDocument.Selection        
        Dim NewGUID As String = String.Format("{0}", (System.Guid.NewGuid().ToString().ToUpper().Split("-")(0)))
        objSel.Insert(NewGUID, vsInsertFlags.vsInsertFlagsContainNewText)
        objSel = Nothing
    End Sub

答案 1 :(得分:1)

对于GUID,您可以使用:

string firstOctet = System.Guid.NewGuid().ToString().Split('-')[0];

答案 2 :(得分:0)

要实现您尝试使用XML块执行的操作,您需要嵌入脚本语言引擎(如IronPython)或编写自己的简单引擎。 C#源代码不是在运行时编译的,也不是在运行时评估源代码。 IL字节码是,但不是人类可读的源代码。