C# WPF DbContext隐式转换错误求助:MainWindowVM赋值问题
修复“无法隐式转换类型”错误的解决方案
看起来你遇到的是典型的方法调用语法错误加上名称拼写问题,让我一步步帮你解决:
问题根源拆解
你在MainWindowVM.cs的LoadData方法里的这句代码:
TegevusedProjektis = _projektService.GetAllTegevusedProjektides;
存在两个关键问题:
没有调用方法(缺少括号)
你现在是直接引用方法本身,它的类型是Func<List<TegevusProjektis>>,而你的TegevusedProjektis属性是List<TegevusProjektis>类型——这两种类型完全不兼容,所以编译器会提示“无法隐式转换类型”。你需要通过添加()来执行方法,获取它返回的列表实例。方法名称拼写错误
查看你的ProjektService.cs代码,里面定义的获取TegevusProjektis列表的方法是GetAllTegevusedProjektis(),但你在VM里写的是GetAllTegevusedProjektides(末尾多了一个d),这会导致编译器找不到正确的方法,进一步加剧类型不匹配的问题。
修复后的代码
把MainWindowVM.cs里的LoadData方法修改为:
public void LoadData() { Projektid = _projektService.GetAllProjekts(); Tegevused = _projektService.GetAllTegevused(); TegevusedProjektis = _projektService.GetAllTegevusedProjektis(); // 修正名称+添加括号 }
这样修改后,编译器就能正确识别方法调用,获取到List<TegevusProjektis>类型的返回值,和你的属性类型匹配,错误就会消失。
内容的提问来源于stack exchange,提问作者Rkurel
相关产品推荐
相关产品推荐

