我有以下簽名的方法:C# - 如何傳遞「出」參數入λ表達
private PropertyInfo getPropertyForDBField(string dbField, out string prettyName)
在它,我發現基於給定dbField
關聯值prettyName
。然後我想找到的所有屬性,如果有的話,有名字prettyName
,所以我想做到以下幾點:
IEnumerable<PropertyInfo> matchingProperties =
getLocalProperties().Where(prop =>
prop.Name.Equals(prettyName)
);
然而,這提供了以下錯誤:
Cannot use ref or out parameter 'prettyName' inside an anonymous method, lambda expression, or query expression
通過我試圖在Where
lambda參數prettyName
中嘗試使用prettyName
的方法中的點肯定已初始化。 I return
如果prettyName
無法初始化爲有效值。是否有一些技巧我可以在這裏讓我在lambda表達式中使用prettyName
?
編輯:我使用.NET 3.5,如果它很重要。
如何將存放在prettyName中的值存入一個不同的變量,以便您可以執行'prettyName = someval;'然後在您的anon函數中使用'someval'? – 2010-10-28 18:05:40