gpt4 book ai didi

c# - 为什么 IntelliSense 在 foreach 循环中不能按预期工作?

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:35 24 4
gpt4 key购买 nike

在输入以下代码片段时,我注意到 Intellisense 没有按预期工作:

StringBuilder sb = new StringBuilder();

foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(sb))
{
var name = prop.DisplayName;
Console.WriteLine("{0}", name);
}

在 foreach 语句中,如果我开始键入 prop.Di,Intellisense 将按照 prop.DisplayName 的预期完成。但是,我使用 var 关键字而不是 PropertyDescriptor,然后我只看到从对象继承的方法。

由于 TypeDescriptor.GetProperties() 返回 TypeDescriptor 的集合,我认为 Visual Studio 能够推断出 prop 的正确类型。

为什么它不起作用?

最佳答案

GetProperties返回 PropertyDescriptorCollection 仅实现 IEnumerable , 不是 IEnumerable<PropertyDescriptor> .如果你使用 var , prop 的类型推断为 object不是PropertyDescriptor .

关于c# - 为什么 IntelliSense 在 foreach 循环中不能按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23877235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com