我们有一个旧代码,其中有
public override void PreBuildUp(IBuilderContext context)
{
var type = context.OriginalBuildKey.Type;
现在必须是
public override void PreBuildUp(ref BuilderContext context)
{
现在类型为OriginalBuildKey
的{{1}}中的context
属性对应什么?我不知道。
答案 0 :(得分:1)
我最近在尝试将AutoMoq-Unity5更新到Unity 5.11时遇到了同样的问题。
Comparing的当前版本BuilderContext.cs与更早的5.9版本
来自
[DebuggerDisplay("Resolving: {OriginalBuildKey.Type}, Name: {OriginalBuildKey.Name}")]
public class BuilderContext : IBuilderContext
收件人
[DebuggerDisplay("Resolving: {Type}, Name: {Name}")]
public struct BuilderContext : IResolveContext
所以正如您提到的,我将代码从更改为
public override void PreBuildUp(IBuilderContext context)
{
要通过引用使用BuilderContext
public override void PreBuildUp(ref BuilderContext context)
{
在我使用OriginalBuildKey.Type
的地方,我现在已经从
private static Type GetTheTypeFromTheBuilderContext(IBuilderContext context)
{
return (context.OriginalBuildKey).Type;
}
到
private static Type GetTheTypeFromTheBuilderContext(IResolveContext context)
{
return context.Type;
}
我的单元测试通过了。