Как инициализировать переменную-член в конструкторе с CodeDOM? - PullRequest
2 голосов
/ 02 марта 2010

Я надеюсь, что может помочь мне, проблема в том, Я хочу инициализировать переменную-член в конструкторе класса с CodeDOM для достижения чего-то вроде этого:

Public Sub New()

    MyBase.New

    Me._myOfficeApp = New Microsoft.Office.Interop.Excel.Application

End Sub

Код, который я использую для этого:

' Create a Public Class Constructor
Dim aConstructor As New CodeConstructor()
aConstructor.Attributes = MemberAttributes.Public
Dim ca As New CodeAssignStatement()
ca.Left = New CodeFieldReferenceExpression(New CodeThisReferenceExpression(), "_myOfficeApp")

ca.Right = New CodeTypeReferenceExpression("New Microsoft.Office.Interop.Excel.Application")

aConstructor.Statements.Add(ca)

Мой вопрос в том, что я не думаю, что делаю это правильно, возможно, вы могли бы помочь мне в этом,

Я думаю, что есть другой способ инициализации переменной без необходимости вручную ставить оператор "New".

Извините за мой английский

Я действительно надеюсь, что поможет мне. С наилучшими пожеланиями

1 Ответ

1 голос
/ 25 апреля 2011

за выписку

ca.Right = New CodeTypeReferenceExpression("New Microsoft.Office.Interop.Excel.Application")

вы можете использовать

ca.Right = New CodeObjectCreateExpression("Microsoft.Office.Interop.Excel.Application")
...