Unity - 使用正常分辨率混合参数覆盖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity - 使用正常分辨率混合参数覆盖相关的知识,希望对你有一定的参考价值。

如何在构造函数中仅指定一个参数,同时在Unity中正常注入其余参数?

EG

public MyContentStore(string contentPath, IFileSystem fileSystem)
{
}

我希望能够在运行时指定内容路径,但是由注册类型自动注入文件系统。我似乎无法将ParameterOverride与ResolvedParameter混合使用

答案

我希望能够在运行时指定内容路径

我想这意味着在解决期间。它应该开箱即用,您不需要混合任何东西。只需在没有任何其他风格的情况下注册您的类型,然后在解析期间覆盖您想要的参数

IUnityContainer uc = new UnityContainer();   
uc.RegisterType<IFileSystem, FileSystem>();
uc.RegisterType<MyContentStore>(); 
var ms = uc.Resolve<MyContentStore>(new ParameterOverride("contentPath", "123"));

另一方面,如果您想在注册期间指定参数,则无法指定每个参数。

以上是关于Unity - 使用正常分辨率混合参数覆盖的主要内容,如果未能解决你的问题,请参考以下文章

在Unity中将Unity生成的代码与Objective-C混合使用?

unity代码设置虚拟相机参数

Unity Admob 显示测试和真实广告的混合

如何在 Unity Editor 中录制游戏界面

Unity 之 打包参数 -- Player面板属性详解

Emmet 覆盖片段