我可以在SSIS(2008)中为一个脚本任务编辑器编写2个类。我试图访问全局变量,如下所示。我创建了2个类,它没有显示任何编译错误,但是我无法访问class2中的全局变量,该变量在类ScriptMain中被指定为2。请建议。
Imports System
Imports System.Data
Class ScriptMain
Dts.Variables("var").Value = 2
End Class
Class class2
Dim var2 As String
var2 = Dts.Variables("var").Value
End Class
答案 0 :(得分:0)
免责声明 - 我对SSIS一无所知,但......
你不能在类的主体中使用Dim语句 - 它们需要在.net中的方法中。
有一些称为构造函数(New)的特殊方法,在实例化类时会调用它,所以请尝试
Imports System
Imports System.Data
Class ScriptMain
public sub new()
Dts.Variables("var").Value = 2
end sub
End Class
Class class2
public function GetGlobal() as string
Dim var2 As String
var2 = Dts.Variables("var").Value
return var2
end function
End Class
你需要在某个地方Dim x as new class2()
,然后你可以拨打x.GetGlobal()
。由于GetGlobal不使用任何实例状态,因此您可以将其设为shared
。
除此之外,还不清楚你要特别想要完成什么。