gpt4 book ai didi

c# - 如何从 Unity 映射中删除(取消注册)已注册的实例?

转载 作者:IT王子 更新时间:2023-10-29 04:04:48 24 4
gpt4 key购买 nike

我遇到了一个我现在无法解决的问题。我有以下内容:

UnityHelper.DefaultContainer.RegisterInstance(typeof(IMyInterface), "test", instance);

其中 UnityHelper.DefaultContainer 是我获取带有已加载配置的统一容器的助手。

这里我注册了instance作为IMyInterface的一个实例。

所以我想在任何地方(使用后的某个时间)删除此映射。完全删除它。我该怎么做?

我试过:

UnityHelper.DefaultContainer.Teardown(instance)

但是没有成功,下面的代码无论如何都会返回instance:

UnityHelper.DefaultContainer.ResolveAll<IMyInterface>()

最佳答案

我遇到了同样的问题,只是从我的 Container 中删除了 ContainerControlledLifetimeManager 的注册:

foreach (var registration in container.Registrations
.Where(p => p.RegisteredType == typeof(object)
&& p.Name == name
&& p.LifetimeManager.Type == typeof(ContainerControlledLifetimeManager)))
{
registration.LifetimeManager.RemoveValue();
}

关于c# - 如何从 Unity 映射中删除(取消注册)已注册的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2705418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com