2011-08-24 64 views
3

我很愚蠢的建立在這個聲明....也許它只是太多的小時/天做C#VB.Net轉換,但我在此轉換上畫空白。Lambda表達式:CS到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)(....) 

正如你可以看到,我打了磚牆拉姆達其內容。

回答

1

赦免換行符,但我相信這就是你想要的。

Dim colors As List(Of Color) = sColors.ConvertAll(Of Color)(
    Function(s) DirectCast((New ColorConverter).ConvertFromString(s), Color) 
) 
+0

謝謝....發現這個KEWL工具[鏈接](http://www.developerfusion.com/tools /)開發人員Fusion工具箱 – GoldBishop

1
sColors.ConvertAll(Of Color)(Function(s) DirectCast(((New ColorConverter).ConvertFromString(s)), Color)); 
1

您可以用隱式類型一個更短的方式把它寫:

Dim colors = sColors.ConvertAll(Of Color)(
     Function(s) (New ColorConverter).ConvertFromString(s))