因此,新的语言功能实现了对默认关键字进行速记的选项。
public void GenericMethod<T>(T responseObject = default)
{
//Your code here
}
代替旧的
public void GenericMethod<T>(T responseObject = default(T))
{
//Your code here
}
在使用新速记时,我们遇到了一个错误,即无法在 dotnet 核心中构建 View 或 Controller 。 - 给出错误“运行所选代码生成器时出错:无法获取 DbContext 的反射类型:...”
通过恢复到实现“默认”的旧方法,错误消失了。
截至目前,使用 default 关键字的新方法是我们遇到的唯一一种破坏它的方法,但我认为类似的新语言功能可能会出现问题。
这不是一个真正的问题。我们只是认为传播这个错误的消息会很好;由于没有帖子涵盖此问题。
Visual Studio : Visual Studio 2019
目标框架:.NET Core 2.2
编辑:这不是 EF 的问题。如果有人试图在您使用模型类 (FooClass) 的情况下搭建一个没有 dbContext 的 View ,则错误会更改为:无法获取模型的反射类型:FooClass
最佳答案
这里有类似的问题。将其改回旧方式有效。
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
}
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default : JsonConvert.DeserializeObject<T>(value);
}
关于c# - 新语言功能破坏了脚手架——无法获取 DbContext 的反射类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56163852/