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[] {
这会创建一个隐式数组并鼓励编译器找出元素是什么。
- 2 回答
- 0 关注
- 93 浏览
添加回答
举报