"构造函数调用仅作为第一个语句"错误,但它是第一个声明

时间:2014-11-04 17:54:39

标签: vb.net oop

当我尝试调用此构造函数时获取错误Constructor call is valid only as the first statement in an instance constructor。我该如何纠正?

我正在调用这样的构造函数:

            Dim frmPull As Shipping.frmPullFromLocation
            frmPull = Shipping.frmPullFromLocation.New(datPickListDate, datRequestDate, datShipDate, intList, intQuantity, intRequest, strAdditionalInfo, strJobNumber, strItemCode)
            frmPull.ShowDialog()

 Public Sub New(ByVal datPickListDate As Date, ByVal datRequestDate As Date, ByVal datShipDate As Date, ByVal intList As Integer, ByVal intQuantity As Integer, ByVal intRequest As Integer, ByVal strAdditionalInfo As String, ByVal strJobNumber As String, ByVal strItemCode As String)
        MyBase.New()

        'Set local variables to the parameters passed in.
        Me.datPickListDate = datPickListDate
        Me.datRequestDate = datRequestDate
        Me.datShipDate = datShipDate
        Me.intList = intList
        Me.intQuantity = intQuantity
        Me.intRequest = intRequest
        Me.strAdditionalInfo = strAdditionalInfo
        Me.strJobNumber = strJobNumber
        Me.strItemCode = strItemCode

        Dim _frmPullFromLocation As frmPullFromLocation = Me
        AddHandler MyBase.Load, New EventHandler(AddressOf _frmPullFromLocation.frmPullFromLocation_Load)
        Me.blnShowMessage = True
        Me.InitializeComponent()
    End Sub

1 个答案:

答案 0 :(得分:2)

        Dim frmPull As Shipping.frmPullFromLocation
        frmPull = Shipping.frmPullFromLocation.New(datPickListDate, datRequestDate, datShipDate, intList, intQuantity, intRequest, strAdditionalInfo, strJobNumber, strItemCode)
        frmPull.ShowDialog()

将其更改为

        Dim frmPull As Shipping.frmPullFromLocation
        frmPull = new Shipping.frmPullFromLocation(datPickListDate, datRequestDate, datShipDate, intList, intQuantity, intRequest, strAdditionalInfo, strJobNumber, strItemCode)
        '         ^^^ new!
        frmPull.ShowDialog()

您不能像共享或静态方法一样调用New。