C# dll与用户交互
我正在用c#net开发一个小应用程序。我想用不同的方式使用它。作为windows窗体应用程序和命令行应用程序。所以我有接口项目和内部核心dll项目。在该dll中的某些过程中,我希望与用户通信,并询问是否应继续操作。所以通过我的界面项目与用户沟通的更好方式是什么?它是传递给我的dll类的某种委托函数,还是通过某种服务引用 您已经使用了以下术语:C# dll与用户交互,c#,dll,user-interaction,C#,Dll,User Interaction,我正在用c#net开发一个小应用程序。我想用不同的方式使用它。作为windows窗体应用程序和命令行应用程序。所以我有接口项目和内部核心dll项目。在该dll中的某些过程中,我希望与用户通信,并询问是否应继续操作。所以通过我的界面项目与用户沟通的更好方式是什么?它是传递给我的dll类的某种委托函数,还是通过某种服务引用 您已经使用了以下术语: 接口项目 内部核心dll项目 为什么DLL要向用户索要一些东西?我会重新考虑整个设计,让DLL只做实际工作。其他一切,比如询问用户要做什么,应该只在用户界
a
复制到文件夹B
的功能。如果复制一个文件失败,您希望用户决定是中止还是继续复制所有其他文件。您可以创建如下事件:
public class QueryContinueEventArgs : EventArgs
{
public QueryContinueEventArgs(string failedFile, Exeption failure)
{
FailedFile = failedFile;
Failure = failure;
Continue = false;
}
public string FailedFile { get; private set; }
public Exception Failure { get; private set; }
public Continue { get; set; }
}
public event EventHandler<QueryContinueEventArgs> QueryContinueAfterCopyFailure;
protected bool OnQueryContinueAfterCopyFailure(string fileName, Exception failure)
{
if (QueryContinueAfterCopyFailure != null)
{
QueryContinueEventArgs e = new QueryContinueEventArgs(fileName, failure);
QueryContinueAfterCopyFailure(this, e);
return e.Continue;
}
return false;
}
public类QueryContinueEventArgs:EventArgs
{
public QueryContinueEventArgs(字符串失败文件,验证失败)
{
FailedFile=FailedFile;
失败=失败;
Continue=false;
}
公共字符串失败文件{get;private set;}
公共异常失败{get;private set;}
公共继续{get;set;}
}
公共事件事件处理程序QueryContinueAfterCopyFailure;
CopyFailure(字符串文件名,异常失败)后受保护的bool ONQUERYCONTINUEAAFTER
{
if(QueryContinueAfterCopyFailure!=null)
{
QueryContinueEventArgs e=新QueryContinueEventArgs(文件名,失败);
QueryContinueAfterCopyFailure(这个,e);
返回e.继续;
}
返回false;
}
分配的事件处理程序可以提供用户交互,并相应地设置
Continue
标志。好吧,你是对的。我想我必须更具体一点。我需要问一些问题,比如忽略/中止/重试。那你有什么建议?回电?非常感谢!这就是我想要的!