2017-01-10 65 views
0

我在C#C#LINQ表达式到VB.NET

private Expression<Func<ObjectCollection, IEnumerable<string>>> _propertySelector; 

,并设置为这个

myComboBox.PropertySelector = collection => collection.Cast<Person>().Select(p => p.Name); 

我使用的VB.NET项目的DLL,并愿设置myComboBox.PropertySelector

我正在使用的类是'Product',我想在选择器中使用'Product.Name'。

我想这会工作,但它是一个运行时错误

myComboBox.PropertySelector = myComboBox.Items.Cast(Of Product).Select(Function(p) p.Name) 
+0

你得到的错误是要告诉你,你在做什么错。你正在分配一个'IEnumerable',而不是'Expression'。 – Servy

回答

1
myComboBox.PropertySelector = Function(x) x.Cast(Of Product).Select(Function(p) p.Name) 
+0

只有解决了问题,我才能接受答案,它应该是myComboBox.PropertySelector = Function(x)x.Cast(Of Product).Select(Function(p)p.Name) – sami

+0

@sami - 你懂了。 – Hogan