“不包含定义……并且没有扩展方法..”错误

我有以下错误消息:

'System.Collections.Generic.Dictionary' does not contain a definition for 'biff' and no extension method 'biff' accepting a first argument of type 'System.Collections.Generic.Dictionary' could be found (are you missing a using directive or an assembly reference?) 

我检查了SO,我发现这个问题似乎与我有类似(如果不是完全相同)的问题。 但是,我尝试了接受的答案中提供的解决方案,但仍然没有提出任何建议。 它表现得像我错过了一个使用声明,但我几乎是积极的,我有我需要的所有使用。

以下是产生错误的一些代码:

 using locationOfSpoofClass; ... Dictionary cart = new Dictionary(); foreach (var item in dbContext.DBView) { cart.biff = item.biff; ... } 

SpoofClass文件:

 namespace locationOfSpoofClass { public class SpoofClass { public int biff { get; set; } ... } } 

对不起,如果我重命名变量等等是令人困惑的。 如果它不可读或难以理解,或者其他信息与解决方案相关,请告诉我。 谢谢!

问题在于这一部分: cart.biffcart的类型为Dictionary ,而不是SpoofClass类型。

我只能猜测你要做什么,但以下代码编译:

 Dictionary cart = new Dictionary(); int i=0; foreach (var item in dbContext.DBView) { cart.Add(i, new SpoofClass { biff = item.biff }); ++i; } 

您需要访问给定键的字典值。 沿着这些方向的东西。

 foreach(var item in dbContext.DBView) { foreach(var key in cart.Keys) { cart[key].biff = item.biff; } }