2012-01-26 47 views
2

我已通過OTA接口成功連接到使用VBscript的QC。在VbScript中,我有以下代碼來過濾缺陷並將它們加載到列表中。如何通過C#OTA使用BugFilter獲取QC11.0中的缺陷列表

BugFilter.Filter("BG_STATUS") = "Not Canceled and NOT Closed" 
BugFilter.Filter("BG_PROJECT") = "Business*" 


Set BugList = BugFilter.NewList() 

以上在Vbscript中完美無缺地工作。

在C#.NET(4.0),我是能夠連接到成功QC但是當我嘗試應用的過濾器,它給我一個錯誤..

TDConnection qcc = new TDConnection(); 
qcc.InitConnectionEx(sr); 

qcc.ConnectProjectEx("XXXX", "------", "----", "-----"); 

      if (qcc.Connected) 
      { 
       Console.WriteLine("connected"); 
       BugFactory bf = (BugFactory)qcc.BugFactory; 



       bf.Filter["BG_STATUS"] = "Not Canceled and NOT Closed"; 
       bf.Filter["BG_PROJECT"] = "Business*"; 

       List bugs = (List)bf.NewList(bf.Filter); 
上的代碼的最後一行

,它給了我以下錯誤「無法將參數0轉換爲調用NewList。」

我是C#的新手,有人可以幫我嗎?

+0

有哪些'NewList'叫細節?它需要什麼類型的參數以及返回類型是什麼? –

+0

它返回一個列表並以「字符串過濾器」作爲參數。List NewList(string Filter); – bcd

+0

我想傳入(看起來像)一個字符串數組到你正在引起異常的函數'NewList'。它說它需要一個字符串。你可能想嘗試一個字符串,看看會發生什麼。 –

回答

3

嘗試bg.Filter.text()

你需要檢查的方法,因爲我在java中做到這一點。但是有一個這個名字的方法。我通常如何做到這一點是這樣的:

List bugs = (List)bg.NewList(); 
1

我通常使用過濾對象,而不是過濾對象本身的屬性。文本傳遞一個字符串轉換成的bug工廠。

舉例來說,我已經受夠了處理這樣的過濾成功:

var tdFilter = (TDFilter)bf_filter; 
tdFilter["BG_STATUS"] = "Not Canceled and NOT Closed"; 
tdFilter["BG_PROJECT"] = "Business*"; 
var bugs = bf.NewList(tdFilter.Text); 
相關問題