我使用委托操作作为方法中的参数,如下所示:
private IEnumerable<SC.ServerPathServices.GAFPFileInfo> StartProjectArchive(Int32 projectID, Int32 sourceServerPathID, Action uiRefresh,Action<IEnumerable<ProjectFile>> PopUpFiles)
这里我有两位代表。我有PopUpFiles Delegate的问题。
我通过将文件列表作为参数传递给PopUpFiles来调用我的方法,如下所示:
if(PopUpFiles!=null)
PopUpFiles(filesModifiedInSourceServer);
这里filesModifiedInSourceServer包含文件列表。 我在一个代码隐藏文件中调用它,如下所示:
archiveResponse = projectManager.StartProjectArchive(projectId, 0, () =>
{
foreach (Control control in tdFileList.Controls.Cast<Control>())
{
if (control is Dell.AFP.UserControl.ProjectFileListBaseControl)
{
((ProjectFileListBaseControl)control).Refresh();
}
}
},
(filesModifiedInSourceServer)=>
{
if (filesModifiedInSourceServer != null && filesModifiedInSourceServer.Count > 0)
{
PopUpModifiedFiles(filesModifiedInSourceServer);
}
});
但是在上面的代码中,当我为委托动作PopUpFiles传递参数时,我使用filesModifiedInSourceServer作为参数。它给了我一个错误,因为委托行动没有一个参数。我怎么能传递参数? 这已经解决了。现在我在调用该方法时遇到对象引用错误。我不知道为什么它会抛出对象引用错误。