如何使用BugFilter通过C#OTA获取QC11.0中的缺陷列表

时间:2012-01-26 19:56:26

标签: c# ota qc

我已经通过OTA接口使用VBscript成功连接到QC。在VbScript中,我有以下代码来过滤掉缺陷并将其加载到列表中。

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#的新手,有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

尝试bg.Filter.text()

你需要检查方法,因为我在java中这样做。但是这个名字有一种方法。我通常这样做是这样的:

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

答案 1 :(得分:1)

我通常使用Filter对象的.Text属性而不是过滤器对象本身将字符串传递给bug工厂。

例如,我已经成功处理了这样的过滤:

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