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

コードの最後の行で、「NewList への呼び出しのために引数 0 を変換できませんでした」というエラーが表示されます。

私はC#に比較的慣れていません。誰か助けてもらえますか?

4

2 に答える 2

3

試すbg.Filter.text()

メソッドを確認する必要があります。なぜなら、私は Java でそれを行っているからです。しかし、その名前の方法があります。私が通常それを行う方法は次のとおりです。

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

通常、フィルタ オブジェクト自体ではなく、Filter オブジェクトの .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 に答える