Создание нового Guid внутри фрагмента кода с использованием c # - PullRequest
5 голосов
/ 21 июля 2009

Я хочу сделать фрагмент кода intellisense, используя Ctl K + Ctl X, который фактически выполняет код при запуске ... например, я хотел бы сделать следующее:

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

Но вместо того, чтобы давать мне это строковое значение, мне нужна дата в указанном формате.

Еще один пример того, что я хочу, это создать новый Guid, но обрезать до первого октета, поэтому я хотел бы использовать создание нового Guid с помощью System.Guid.NewGuid (); дать мне, например, {798400D6-7CEC-41f9-B6AA-116B926802FE}, но мне нужно значение: 798400D6 из фрагмента кода.

Я открыт для того, чтобы не использовать фрагмент кода Intellisense .. Я просто подумал, что это будет легко.

Ответы [ 3 ]

2 голосов
/ 22 июля 2009

Это то, что я сделал вместо этого с макросом VS

  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 голос
/ 22 июля 2009

Для GUID вы можете использовать:

string firstOctet = System.Guid.NewGuid().ToString().Split('-')[0];
0 голосов
/ 22 июля 2009

Чтобы добиться того, что вы пытаетесь сделать со своим блоком XML, вам нужно либо встроить механизм языка сценариев, такой как IronPython, либо написать свой собственный простой механизм. Исходный код C # не компилируется во время выполнения, и исходный код не оценивается во время выполнения. Байт-код IL - это, но не читабельный исходный код.

...