У нас в C # есть что-то вроде этого:

public static int ToInt<T>(this T obj) =>
       int.TryParse(obj,out int result)?result: -1;

Мы можем объявить result при передаче этого метода TryParse, есть ли эквивалентный способ в vb.NET?

0
Arsalan 8 Окт 2018 в 08:06

2 ответа

Лучший ответ

Встроенные объявления появились в C # с Версией 7.0. VB.NET 15 был выпущен примерно в то же время.

Согласно этой записи блога, встроенные объявления не попали в VB.NET 15. (См. раздел Возможности языка, которые были исключены из Visual Basic 15 )

< Сильный > ИЗМЕНИТЬ

Очевидно, VB.NET вообще не имеет модификатора параметра out. Ближайшим эквивалентом будет ByRef, который на самом деле больше похож на C # s ref, который также не поддерживает встроенные объявления.

0
Paul Kertscher 8 Окт 2018 в 05:21

Вы можете попробовать:

            Dim result As Integer = If(Integer.TryParse(obj, result), result, -1)
            Return result
2
Joseph Wu 8 Окт 2018 в 05:40