The type or namespace name 'c' could not be found (are you missing a using directive or an assembly reference?)
当我尝试从下面运行代码时,我从上面得到了错误。
this.Calendar.Entries.Any<CalendarEntry>(c => c.Date.Date == date.Date && Filters.Any<Type>(f => typeof(c).IsInstanceOfType(f)));
有谁知道为什么这不起作用?如果我可以让它工作?
感谢。
编辑:
现在还知道它为什么不能像我最初写的那样起作用,但是当我这样写它时它会起作用:
Filters.Any<Type>(f => this.Calendar.Entries.Where<CalendarEntry>(c => c.Date.Date == date.Date).SingleOrDefault().GetType().IsInstanceOfType(f));
答案 0 :(得分:6)
typeof
仅适用于类型名称。如果您需要c
的运行时类型,则必须使用Object.GetType
并说出c.GetType()
。
因此,编译器看到typeof(c)
并且知道typeof
只接受类型名称,因此尝试勇敢地在某处找到a type named c
,但是,唉,它不能。所以,它告诉你“我找不到类型c
。”