2013-07-17 3 views
0

После некоторых проблем после запуска инструмента для преобразования кода VB6.Format() в VS 2008. У нас было это заявление:VB.Net VB6.Format() Проблемы после преобразования

VB6.Format(InVariable, szFormatMask)) 

Это было преобразовано в это:

InVariable.ToString(szFormatMask) 

Проблема в том, что в настоящее время, когда мы называем нашу функцию она имеющую вопрос, что он не может преобразовать String = «» к значению Integer. InVariable - это объект, а szFormatMask - это строка в нашей функции. Есть ли у вас какие-либо предложения о том, чтобы не вызывать эту проблему?

+1

Каков точный тип 'InVariable'? (Так что даже если он используется как' System.Object', что это такое?) – Dai

+0

В этом случае это двойное отправление функции. – user2178477

+0

См. Http: //stackoverflow.com/a/2187770/11683 – GSerg

ответ

0

Добавить проверку на пустую строку и изменить соответствующим образом:

If szFormatMask = "" Then szFormatMask = "G" 
Return InVariable.ToString(szFormatMask) 

В «G» формат-строковое значение особенного в том, что это указывает выходной формат номер «General».

(краткое слово на код стиле:., Пожалуйста, избегайте венгерской нотации, например, в In и sz префиксов, а имя локальные переменные и параметры с использованием нижнего регистром camelCase, как прописные CamelCase зарезервированы для членов типа, как методы и свойство

+0

Теперь я получаю преобразование из типа «G», чтобы ввести исключение Integer недопустимо. – user2178477

Смежные вопросы