TaskCompletionSource<bool> sy;
public string SendResponse(HttpListenerRequest request)
{
string result = "";
string key = request.QueryString.GetKey(0);
if (key == "cmd")
{
if (request.QueryString[0] == "upload status")
{
if (Youtube_Uploader.fileuploadstatus == "uploading file")
{
Youtube_Uploader.fileuploadstatus = "";
return "uploading";
}
else
{
return "upload unknown state";
}
if (Youtube_Uploader.fileuploadstatus == "file uploaded successfully")
{
Youtube_Uploader.fileuploadstatus = "";
return "upload completed";
}
else
{
return "upload unknown state";
}
}
if (request.QueryString[0] == "nothing")
{
return "Connection Success";
}
if (request.QueryString[0] == "start")
{
StartRecrod();
result = "Recording started";
}
if (request.QueryString[0] == "stop")
{
dirchanged = false;
StartRecrod();
result = "Recording stopped and preparing the file to be shared on youtube";
sy = new TaskCompletionSource<bool>();
WatchDirectory();
sy.Task.Wait();
Youtube_Uploader youtubeupload = new Youtube_Uploader(fileforupload);
}
}
else
{
result = "Nothing have been done";
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
这一行:
if (Youtube_Uploader.fileuploadstatus == "file uploaded successfully")
Run Code Online (Sandbox Code Playgroud)
'if'带有绿色下划线,表示检测到无法访问的代码.我该如何解决它以及为什么它是无法访问的代码?
也许我需要使用result =而不是返回?但这似乎不是问题所在.
Cod*_*ter 10
因为在上面,你有:
if (...)
{
return "uploading";
}
else
{
return "upload unknown state";
}
Run Code Online (Sandbox Code Playgroud)
要么是if或者else为真,那么代码将从该块返回,并且它下面的代码将不会被执行.
您有三个选项,因此您似乎正在寻找switch在这种情况下最具可读性的选项:
switch (Youtube_Uploader.fileuploadstatus)
{
case "uploading file":
Youtube_Uploader.fileuploadstatus = "";
return "uploading";
case "file uploaded successfully":
Youtube_Uploader.fileuploadstatus = "";
return "upload completed";
default:
return "upload unknown state";
}
Run Code Online (Sandbox Code Playgroud)
或者使用字典将服务状态转换为您的应用程序状态,或者if () else if () else按照@Thiago的建议使用.
因为你的退货声明.它会阻止if/else通量.也许你正在寻找这个:
if (Youtube_Uploader.fileuploadstatus == "uploading file")
{
Youtube_Uploader.fileuploadstatus = "";
return "uploading";
}
else if (Youtube_Uploader.fileuploadstatus == "file uploaded successfully")
{
Youtube_Uploader.fileuploadstatus = "";
return "upload completed";
}
else
{
return "upload unknown state";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |