次のシグネチャを持つメソッドがあります。
private PropertyInfo getPropertyForDBField(string dbField, out string prettyName)
prettyName
その中で、与えられたに基づいて関連する値を見つけますdbField
。次に、名前が付いているすべてのプロパティを検索したいprettyName
ので、次のことを実行しようとしています。
IEnumerable<PropertyInfo> matchingProperties =
getLocalProperties().Where(prop =>
prop.Name.Equals(prettyName)
);
ただし、これにより次のエラーが発生します。
匿名メソッド、ラムダ式、またはクエリ式内でrefまたはoutパラメータ'prettyName'を使用することはできません
ラムダパラメーターで使用しようとしているメソッドのポイントまでに、prettyName
は確実に初期化されます。有効な値に初期化できない場合はI。ラムダ式で使用できるようにするためにここで実行できるトリックはありますか?Where
prettyName
return
prettyName
prettyName
編集:重要な場合は.NET3.5を使用しています。