3

我已通过 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# 比较陌生,有人可以在这里帮助我吗?

4

2 回答 2

3

Try bg.Filter.text()

You'd need to check the method, 'cause I do that in java. But there is a method by that name. How I normally do that is like this:

List bugs = (List)bg.NewList();
于 2012-05-04T12:42:05.067 回答
1

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

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

var tdFilter = (TDFilter)bf_filter;
tdFilter["BG_STATUS"] = "Not Canceled and NOT Closed";
tdFilter["BG_PROJECT"] = "Business*";
var bugs = bf.NewList(tdFilter.Text);
于 2013-08-27T12:56:50.577 回答