为什么VSTO会将类型dynamic
用于许多返回值,为什么它们不一致? dynamic
返回类型似乎会导致额外的工作。 Var
变量通常不会自动正确输入,并且显式类型(推断并不总是很明显)必须用于Intellisense才能工作。
例如,下面的第一个var正确键入Excel.ListObject
,但第二个var row
未自动键入Excel.ListRow
。相反,需要foreach (Excel.ListRow row in ...
来获取行属性和方法。要弄清Excel.ListRow
是正确的类型并不难,但它确实需要查看几页文档。
var incomeEntry = worksheet.ListObjects["IncomeEntry"];
foreach (var row in incomeEntry.ListRows)
...
这可能是遗产吗?或者,这是未来的浪潮吗?