こんにちは私はリストのフィルタシステムを作成しようとしています。C#ラムダ変換
Error CS1660: Cannot convert lambda expression to type 'bool' because it is not a delegate type
私はそのような方法で何かに実際のフィルタリングを行うだろう持っている:
public bool filter(String fieldName, double? value)
public bool filter(String fieldName, int? value)
public bool filter(String fieldName, Date? value)
を
list.Remove(this.filter(fieldName, Convert.ToDouble(o => rule(o))));
は、私は、エラーメッセージが表示されます。この行で
public void filter<T, E>(String fieldName, List<T> list, Func<T, E> rule)
{
IList<FilterDto> filters = GetFilter(fieldName);
foreach (FilterDto filter in filters)
{
if (filter != null)
{
if (filter.valueType == ValueType.NUMERIC)
{
list.Remove(this.filter(fieldName, Convert.ToDouble(o => rule(o))));
}
else if (filter.valueType == ValueType.DATE)
{
}
else if (filter.valueType == ValueType.TEXT)
{
}
else
{
Log("Unkown filter comparsion");
}
}
}
}
あなた 'ルール()'メソッドとは何ですか?それは何を返すのですか? –
私の質問を編集:) – Flo