我尝试使用FilterFunction
类似方法尝试时出错。非禁用成员'列表<PKT, T> .FilterFunction'不能像方法一样使用
发生错误时,我不知道如何解决它?
我只使用如下代码:
我创建函数委托,如:
internal class FilterFunctionDelegate<PKT, T>
{
}
然后,在FDBindingList!2.cs
类,我设置类:
private FilterFunctionDelegate<PKT, T> FilterFunction;
internal delegate bool FilterFunctionDelegate(T item);
internal void Add(T item)
{
if ((this.FilterFunction == null) || this.FilterFunction(item)){}
}
在ArbsBindingList.cs
:
base.SetFilter(new FDBindingList<long, Arb>.FilterFunctionDelegate(this.Filter.IsSatisfies));
我的错误是:
在线路this.FilterFunction(item)
:
非可调用部件 'FDBindingList.FilterFunction' 不能使用等的方法
和线路:
无法从'JustXin.Windows.Forms.FDBindingList.FilterFunctionDelegate'转换为'JustXin.Windows.Forms.FilterFunctionDelegate'
在你的情况'FilterFunctionDelegate'既是一个类名和委托的名称。这很奇怪,应该会导致错误,因为编译器无法区分它们。为班级使用另一个名字。 – HimBromBeere
@HimBromBeere你可以在答案中添加更多代码吗?我添加了'FilterFunctionDelegate + Class',它变为:'内部类FilterFunctionDelegateClass'和'私人FilterFunctionDelegateClass FilterFunction;'。 –
vanloc