как исправить Option Strict On запрещает сужение от типа 'Object' к типу 'String' при копировании значения параметра 'ByRef' - PullRequest
0 голосов
/ 24 октября 2018

У меня есть ниже код, который дает мне ошибку "Option Strict On запрещает сужение от типа" Option Strict On запрещает сужение от типа 'Object' к типу 'String' при копировании значения параметра 'ByRef' 'varExpression' обратно всоответствующий аргумент. "Пожалуйста, обратите внимание, что я не хочу, чтобы опция строгого ВЫКЛЮЧЕНА. Ниже приведен код.

 clsDataElemMaintRowXMLDataSet.SetFieldText(TAG_FLD_DEM_AMT, IIf(IsNumeric(strAmt), IIf(blnNegativeAmt, "-", "+"), EMPTY_STRING) &                                                           
Format_Renamed(strAmt, MASK_CURRENCY))

это декларация для вышеуказанного кода.

    Dim clsDataElemMaintRowXMLDataSet As "someclass object"
   Public Sub SetFieldText(strFieldName As String, strFieldText As String)
   Private Const TAG_FLD_DEM_AMT As String = "DEMAmt"
ByVal blnNegativeAmt As Boolean
 Public Const MASK_CURRENCY As String = "$#,##0.00"
 ByVal strAmt As String
  ByVal blnNegativeAmt As Boolean

   Public Function Format_Renamed(ByRef varExpression As Object, ByRef 
    Optional strFormat As String = "", ByRef Optional vbFirstDayOfWeek As 
   FirstDayOfWeek = FirstDayOfWeek.Sunday, ByRef Optional 
    vbFirstWeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1) As 
    String

1 Ответ

0 голосов
/ 24 октября 2018

Я получил ответ.По сути, необходимо удалить оператор & и объединить строку с помощью String.Concat.ниже код.

clsDataElemMaintRowXMLDataSet. 
   SetFieldText(TAG_FLD_DEM_AMT, 
                String.Concat(IIf(IsNumeric(strAmt), 
                              IIf(blnNegativeAmt, "-", "+"), 
                            EMPTY_STRING), Format_Renamed(CObj(strAmt), 
                MASK_CURRENCY))) 
...