2

問題はこれです。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」ステートメントを手動で配置せずに変数を初期化する別の方法があると思います。

私の英語でごめんなさい

私は本当に私を助けることができることを願っています. よろしくお願いします

4

1 に答える 1

1

声明のために

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

あなたが使用することができます

ca.Right = New CodeObjectCreateExpression("Microsoft.Office.Interop.Excel.Application")
于 2011-04-25T05:28:34.200 に答える