以下代码导致C#编译器返回dynamic
类型,但该类和GetUserProfileAsync
方法是正常的“具体”代码。
var profile = await this.UserProfileRepository.GetUserProfileAsync(this.ViewModel[ViewModelKeys.UserGivenName]);
profile
变量上的Intellisense不存在,而编辑/编译器则说:
此操作将在运行时解决。
发生了什么事?
答案 0 :(得分:1)
检查传递给GetUserProfileAsync
方法的参数的类型,可能是dynamic
。
编译器无法知道类型并解析UserProfileRepository
类上的方法/调用点。
要解决此问题,请将this.ViewModel
的值转换为您期望的类型。
var profile = await this.UserProfileRepository.GetUserProfileAsync((string)this.ViewModel[ViewModelKeys.UserGivenName]);
现在编译器可以全力以赴。