2011-03-17 33 views
0

if(t!= null)總是爲空爲什麼幫助.. 當我嘗試獲取變量名中的值時它始終在else部分中,但我是確定在變量中存在有效性。在編輯c中的任務調度程序觸發器中的空引用

private void button3_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       if (search=="") 
       { 

       } 
       else 
       { 
        if (textBox1.Text=="") 
        { 
         MessageBox.Show("Select A Task Or Find One"); 
        } 
        else 
        { 
         search = textBox1.Text; 
        } 
           } 
       if (search != null) 
       { 
        t = tasks.OpenTask(search); 
        if (textBox2.Text!="") 
        { 

        short hour = short.Parse(textBox2.Text.Substring(0, 2)); 
        short minute = short.Parse(textBox2.Text.Substring(3, 2)); 
         if (t != null) // this is null dont know why 
        { 
         foreach (Trigger tr in t.Triggers) 
         { 
          if (tr is StartableTrigger) 
          { 
           (tr as StartableTrigger).StartHour = hour; 
           (tr as StartableTrigger).StartMinute = minute; 
          } 
         } 
         t.Save(); 
         t.Close(); 
        } 
        tasks.Dispose(); 
        button2.Visible = true; 
        textBox3.Visible = true; 
        search = ""; 
        } 
        else 
        { 
         MessageBox.Show("Enter Time "); 
        } 
       } 
      } 
      catch (Exception b) 
      { 
       MessageBox.Show(b.ToString()); 
       // MessageBox.Show("Select A Task From The List "); 
      } 

     } 

幫助傢伙..嗯,我嘗試了調試,但通過沒得到休息..

+1

通過發帖引發異常來幫助自己;-) – 2011-03-17 08:50:33

回答

0

t爲null,因爲tasks.OpenTask(search)返回null。 可能沒有符合您的搜索條件的任務。

你爲什麼要把tasks放在第一位?

+0

但我在這裏確定了任務的確切名稱,然後呢? – user614946 2011-03-17 11:51:25

+0

你有源代碼,去看看'OpenTask'方法做什麼!你期望我做什麼? – 2011-03-17 12:44:54

+0

多數民衆贊成我必須的方法1.編輯我已在這裏發佈2.搜索相同的代碼只是一個小小的改變,它工作正常,它發現任務噸不是空的,但爲什麼在這裏? – user614946 2011-03-17 13:30:46

0

任何地方在你的來源,你寫這樣的事情MyClass t = new MyClass()..其中t是你的類對象。如果您還沒有聲明,它將始終爲空。

或者你可能已經聲明瞭這樣的東西 private Task t;但忘了添加新的關鍵字。查看!!!

+0

任務不是一個類 – user614946 2011-03-17 11:51:46

相關問題