枚举函数的CodeElements [英] enumerate CodeElements of function
本文介绍了枚举函数的CodeElements的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好帮助初学者。
如何在函数体内枚举CodeElement?
谢谢
我想要尝试编写一个可以在函数内编写枚举变量的Select Case的插件。
我在Visual Studio 2010中尝试使用此代码:
Hello guys help for a beginner.
How to enumerate CodeElement inside the body of a function?
thank you
I want to try to write an addin that can write a Select Case of an enumerated variable inside a function.
I tried with this code with Visual Studio 2010 :
Imports EnvDTE
Imports EnvDTE80
Imports System.Collections.Generic
Imports System.Text
Public Class Form1
Private dte As DTE2 = System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.10.0")
Dim lElements As New List(Of String)
Public Enum Sizes
Small
Medium
Large
ExtraLarge
End Enum
Private Sub Test(mysize As Sizes)
Dim prova As Sizes 'not found in FileCodeModel
prova = Sizes.ExtraLarge 'not found in FileCodeModel
End Sub
Private Sub RecursiveLoop(cdElements As CodeElements)
Dim children As String
Dim elem As CodeElement
Try
For Each elem In cdElements
lElements.Add(elem.Name & vbCrLf)
RecursiveLoop(elem.Children)
Next
Catch ex As Exception
System.Windows.Forms.MessageBox.Show(ex.ToString)
End Try
End Sub
Sub CodeElementsExample(ByVal dte As DTE2)
Dim fcm As FileCodeModel = _
dte.ActiveDocument.ProjectItem.FileCodeModel
RecursiveLoop(fcm.CodeElements)
Dim sBuilder As New StringBuilder
For Each item As String In lElements
sBuilder.Append(item)
Next
MsgBox(sBuilder.ToString)
End Sub
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Stop ' open code window
CodeElementsExample(dte)
End Sub
End Class
推荐答案
这篇关于枚举函数的CodeElements的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文