【发布时间】:2015-09-07 18:08:21
【问题描述】:
例如在类文件中:
public class DoSomething
{
public string test { get; set; }
public string test1 { get; set; }
public int test2 { get; set; }
public int test3 { get; set; }
// others
}
然后:
if (stringProgressReport[1] == "Uploading")
{
fileuploadpercentages = (int)Math.Round(((double)obj.BytesSent) / totalBytes * 100);
fileuploadstatus = "uploading file";
}
以某种方式将 int 的 fileuploadpercentage 分配给 test2 或 test3 并将 fileuploadstatus 分配给 test1 然后在 form1 中:
if (request.QueryString[0] == "uploadstatus")
{
switch (Youtube_Uploader.fileuploadstatus)
{
case "uploading file":
return "uploading";
case "status":
return Youtube_Uploader.fileuploadpercentages.ToString();
case "file uploaded successfully":
Youtube_Uploader.fileuploadstatus = "";
return "upload completed";
default:
return "upload unknown state";
}
也许不使用 switch case,但以某种方式使其返回 test1 和 test2 所以如果在类文件中:
if (stringProgressReport[1] == "Uploading")
同时返回 test1 和 test2。两个参数,但在“上传”时返回它们
到目前为止我尝试了什么:
在新表单中我添加了这个:
public enum UploadState
{
Uploading,
InProgress,
Completed,
Unknown
}
public class UploadStatus
{
public UploadState State { get; private set; }
public int Progress { get; private set; }
public UploadStatus(UploadState state)
{
State = state;
}
public UploadStatus(int progress)
{
Progress = progress;
State = UploadState.InProgress;
}
}
现在我在这个新表单中有两个事件,如何在带有 UploadState 类的事件中使用?
第一个事件:
public static string uploadstatus = "";
private void videosInsertRequest_ResponseReceived(Video obj)
{
uploadstatus = obj.Status.UploadStatus;
if (uploadstatus == "uploaded")
{
//fileuploadstatus = new UploadStatus("file uploaded successfully");
}
第二个事件:
private void videosInsertRequest_ProgressChanged(IUploadProgress obj)
{
stringProgressReport[1] = obj.Status.ToString();
if (stringProgressReport[1] == "Uploading")
{
//percentComplete = (int)Math.Round(((double)obj.BytesSent) / totalBytes * 100);
//fileuploadstatus = "status";
//fileuploadpercentages = new UploadStatus((int)Math.Round(((double)obj.BytesSent) / totalBytes * 100));
//fileuploadstatus = new UploadStatus("uploading file");// + fileuploadpercentages;
}
在所有返回的 form1 中,我都遇到了错误:
错误 1 无法将类型“Automatic_Record.Youtube_Uploader.UploadStatus”隐式转换为“字符串”
case "uploading file":
return new Youtube_Uploader.UploadStatus(Youtube_Uploader.UploadState.Uploading);
case "status":
return new Youtube_Uploader.UploadStatus(Youtube_Uploader.fileuploadpercentages);
case "file uploaded successfully":
Youtube_Uploader.fileuploadstatus = "";
return new Youtube_Uploader.UploadStatus(Youtube_Uploader.UploadState.Completed);
default:
return new Youtube_Uploader.UploadStatus(Youtube_Uploader.UploadState.Unknown);
每次返回时,我都会遇到相同的错误,无法转换为字符串。
同样在form1的这一行中:
return new Youtube_Uploader.UploadStatus(Youtube_Uploader.fileuploadpercentages);
我也收到了错误:
错误 3 参数 1:无法从“Automatic_Record.Youtube_Uploader.UploadStatus”转换为“Automatic_Record.Youtube_Uploader.UploadState”
【问题讨论】:
-
也许使用元组
来返回两个值?
标签: c#