C# 字符串C的设置有问题#

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

据我所知,下面的代码似乎完成了我希望它执行的操作-尽管由于某些原因,deletest字符串似乎没有正确设置,因为当我单击按钮时,操作没有发生。虽然如果我定义了实际的任务名称,例如“task3”,它会删除它

代码:


不同的变量名。

您正在将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);
}