Лямбда-выражение: от CS к VB.Net - PullRequest
3 голосов
/ 25 августа 2011

Я тупой основатель в этом утверждении .... может быть, это слишком много часов / дней для преобразования C # в VB.Net, но я не обращаю внимания на это преобразование.

Любая помощь будетс благодарностью.

List<string> sColors = new List<string>(this.CustomPaletteValues.Split(','));
try {
   List<Color> colors = sColors.ConvertAll<Color>(s => (Color)(new ColorConverter().ConvertFromString(s)));    

То, что у меня есть до сих пор:

Dim colors As List(Of Color) = sColors.ConvertAll(Of Color)(....)

Как вы видите, это содержание лямбды, которой я бью кирпичную стену.

Ответы [ 3 ]

1 голос
/ 25 августа 2011

Прошу прощения, разрывы строк, но я верю, что это то, что вы хотите.

Dim colors As List(Of Color) = sColors.ConvertAll(Of Color)(
    Function(s) DirectCast((New ColorConverter).ConvertFromString(s), Color)
)
1 голос
/ 06 декабря 2011

Вы можете написать это намного более коротким способом с неявной типизацией:

    Dim colors = sColors.ConvertAll(Of Color)(
        Function(s) (New ColorConverter).ConvertFromString(s))
1 голос
/ 25 августа 2011
sColors.ConvertAll(Of Color)(Function(s) DirectCast(((New ColorConverter).ConvertFromString(s)), Color));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...