我有以下方法,我在使其通用时遇到了一些困难。
private void AddCheckBox(CheckBox cb, Expression<Func<ISomeInterface, bool>> func)
{
var memRef = MemberReference.Create(mSomeInterfaceAttribute, func);
.......
}
的定义MemberReference.Create
是:
public static MemberReference<K, M> Create<K, M>(K obj, Expression<Func<K, M>> func) where K : class;
这是我尝试过的:
private void AddCheckBox<T>(CheckBox cb, Expression<Func<T, bool>> func)
{
var memRef = MemberReference.Create<T, bool>(mSomeInterfaceAttribute, func);
......
}
我收到无效参数错误:
错误 2 参数 2:无法从 'System.Linq.Expressions.Expression>' 转换为 'System.Linq.Expressions.Expression>'
错误 1 'MemberReference.Create(ISomeInterafce, System.Linq.Expressions.Expression>)' 的最佳重载方法匹配有一些无效参数