2 回答

TA貢獻1848條經驗 獲得超6個贊
我會將您的命名更改Tuple為以下命名 ValueTupleC# 7 語法,它應該可以工作:
var list = new List<(string name, object type)>()
? ? ? ? ? {
? ? ? ? ? ? ?(name: "CSOperaDriver", type: typeof(OpenQA.Selenium.Opera.OperaDriver))
? ? ? ? ? ? ?...
? ? ? ? ? };
foreach (var tso in list)
? ?...
或者像這樣改變你的初始化器
new Tuple<string, object>( "CSOperaDriver",? typeof(OpenQA.Selenium.Opera.OperaDriver))),

TA貢獻1797條經驗 獲得超6個贊
該類型不喜歡成為一個對象,并堅持成為一個System.Type。
public static void ConnectToOperaObjects(ref Microsoft.ClearScript.Windows.JScriptEngine jSE)
{
foreach (var tso in new List<(string name, System.Type type)>() {
("CSOperaDriver", typeof(OpenQA.Selenium.Opera.OperaDriver)),
("CSOperaDriverService", typeof(OpenQA.Selenium.Opera.OperaDriverService)),
("CSOperaOptions", typeof(OpenQA.Selenium.Opera.OperaOptions)) })
{
AddHostType(ref jSE, tso.name, tso.type);
}
}
還有另一種選擇,即將 foreach 子句更改為
foreach (var tso in new[] {
這會創(chuàng)建一個隱式數組并鼓勵編譯器找出元素是什么。
- 2 回答
- 0 關注
- 125 瀏覽
添加回答
舉報