自从获得 Resharper 以来,我一直喜欢尽可能使用 var inside 方法。因此,稍后如果您传入不同的类型,则更改会在您的代码中向下级联,而无需将每个 int 声明更改为双精度。这让我想到了我的问题。我正在从 DataList 中检索 DataListItems 列表
var daysWorked = dlResourcesAllocated.Items;
然后单步执行它返回的 List
foreach (var d in daysWorked)
{
var c = d.FindControl("ucSomethingSomething"); //Doesn't compile d has no methods
}
我的 d 突然被转换为一个没有方法的对象
foreach (DataListItem d in daysWorked)
{
var c = d.FindControl("ucSomethingSomething");
}
但是工作得很好。
我只是好奇为什么“var”无法弄清楚它是DataListItem的集合。Intellisense 似乎知道这一点。我确信对此有一个非常简单的解释。飞碟老兄可能会出现并指出我在深入阅读 C# 时应该更加注意......