将 Unity 升级到 5.11
Upgrading Unity to 5.11
我们有一个旧代码
public override void PreBuildUp(IBuilderContext context)
{
var type = context.OriginalBuildKey.Type;
现在必须
public override void PreBuildUp(ref BuilderContext context)
{
现在BuilderContext
类型的context
中OriginalBuildKey
属性对应的是什么?想不通了。
我最近在尝试将 AutoMoq-Unity5 更新到 Unity 5.11 时遇到了同样的问题。
Comparing the current version of 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;
}
我的单元测试通过了。
我们有一个旧代码
public override void PreBuildUp(IBuilderContext context)
{
var type = context.OriginalBuildKey.Type;
现在必须
public override void PreBuildUp(ref BuilderContext context)
{
现在BuilderContext
类型的context
中OriginalBuildKey
属性对应的是什么?想不通了。
我最近在尝试将 AutoMoq-Unity5 更新到 Unity 5.11 时遇到了同样的问题。
Comparing the current version of 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;
}
我的单元测试通过了。