C# 字符串C的设置有问题#
据我所知,下面的代码似乎完成了我希望它执行的操作-尽管由于某些原因,deletest字符串似乎没有正确设置,因为当我单击按钮时,操作没有发生。虽然如果我定义了实际的任务名称,例如“task3”,它会删除它 代码:C# 字符串C的设置有问题#,c#,.net,windows,C#,.net,Windows,据我所知,下面的代码似乎完成了我希望它执行的操作-尽管由于某些原因,deletest字符串似乎没有正确设置,因为当我单击按钮时,操作没有发生。虽然如果我定义了实际的任务名称,例如“task3”,它会删除它 代码: 不同的变量名。您正在将null传递给st.DeleteTask方法。deletest和deletetask是两个不同的变量。这就是您想要做的吗 public string deletest {get;set;} private void deletetask_Click(object
不同的变量名。您正在将null传递给st.DeleteTask方法。deletest和deletetask是两个不同的变量。这就是您想要做的吗
public string deletest {get;set;}
private void deletetask_Click(object sender, EventArgs e)
{
deletest = DeleteTaskBox.Text;
ScheduledTasks st = new ScheduledTasks(@"\\" + System.Environment.MachineName);
st.DeleteTask(deletest);
}
即使你没有其他答案提到的打字错误,你仍然会有一个bug——你不会设置属性,因为你仍然会在方法中声明一个新的局部变量。调用
st.DeleteTask
会起作用,但是以后其他任何东西都无法访问它。您不想声明新变量。你想要的是:
public string DeleteTaskName { get; set; }
private void deletetask_Click(object sender, EventArgs e)
{
// Note that this doesn't declare a variable
DeleteTaskName = DeleteTaskBox.Text;
ScheduledTasks st = new ScheduledTasks(@"\\" + Environment.MachineName);
st.DeleteTask(DeleteTaskName);
}
在中放置断点并验证DeleteTaskbox。文本值是您期望的值。只是观察:您是写此问题的同一个人吗?代码与您的问题几乎相同。
public string deletest {get;set;}
private void deletetask_Click(object sender, EventArgs e)
{
deletest = DeleteTaskBox.Text;
ScheduledTasks st = new ScheduledTasks(@"\\" + System.Environment.MachineName);
st.DeleteTask(deletest);
}
public string DeleteTaskName { get; set; }
private void deletetask_Click(object sender, EventArgs e)
{
// Note that this doesn't declare a variable
DeleteTaskName = DeleteTaskBox.Text;
ScheduledTasks st = new ScheduledTasks(@"\\" + Environment.MachineName);
st.DeleteTask(DeleteTaskName);
}