Страницы

Поиск по вопросам

четверг, 25 октября 2018 г.

Конвертация кода C# => VB.NET

День добрый. Переписывал библиотеку с C# на более удобный для себя VB.NET и не смог разобраться как написать два куска кода.
Код 1.
throw new RucaptchaErrorException((RucaptchaError)Enum.Parse(typeof(RucaptchaError), str.Substring(6)));
Попытка получить хоть какой то код через декомпилятор выглядит так:
Throw New RucaptchaErrorException(DirectCast(Enum.Parse(GetType(RucaptchaError), Str.Substring(6)), RucaptchaError))
Код 2.
public object Clone() { var paramsContainer = new ParamsContainer(); foreach (var obj in from object index in Params.Keys select (Param) Params[index]) paramsContainer.Params.Add(obj.Key, obj); return paramsContainer; }
При попытке конвертнуть этот метод, у декомпилятора вообще снесло крышу и получившийся кусок даже не стоит приводить.
Прошу помощи.


Ответ

Код 1:
Throw New RucaptchaErrorException(DirectCast(System.Enum.Parse(GetType(RucaptchaError), str.Substring(6)), RucaptchaError))
Код 2:
Option Infer On
Public Function Clone() As Object Dim paramsContainer = New ParamsContainer() For Each obj In From index As Object In Params.Keys Select CType(Params(index), Param) paramsContainer.Params.Add(obj.Key, obj) Next obj Return paramsContainer End Function
p.s. могут быть ошибки, использовал конвертер: http://www.tangiblesoftwaresolutions.com/Free_Edition_Downloads/Instant%20VB%20(Free%20Edition)%20Setup.exe

Комментариев нет:

Отправить комментарий