设置字符串C#的问题

时间:2011-06-21 18:25:50

标签: c# .net windows

据我所知,下面的代码看起来像我打算做的那样 - 尽管由于某种原因,删除字符串似乎没有正确设置,因为当我点击按钮时,动作不会发生。虽然如果我定义实际的任务名称,例如“task3”它删除了它。

代码:

public string deletest {get;set;}


private void deletetask_Click(object sender, EventArgs e)
{
    string deletetask = DeleteTaskBox.Text;
    ScheduledTasks st = new ScheduledTasks(@"\\" + System.Environment.MachineName);
    st.DeleteTask(deletest);
}

4 个答案:

答案 0 :(得分:5)

您将null传递给st.DeleteTask方法。 deletest和deletetask是两个不同的变量。

答案 1 :(得分:4)

string ***deletetask*** = DeleteTaskBox.Text;
ScheduledTasks st = new ScheduledTasks(@"\\" + System.Environment.MachineName);
st.DeleteTask(***deletest***);

不同的变量名称。

答案 2 :(得分:4)

即使你没有其他答案提到的拼写错误,你仍然有一个错误 - 你不会设置该属性,因为你仍然会声明方法中的新局部变量。对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);
}

答案 3 :(得分:0)

这是你想要做的吗?

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);
}