如果我有接口(interface) IMvxScreen
和多个实现 IMvxScreen
的具体类,是否可以一次解析所有实现?
public MyClass(IScreen[] screens)
{
最佳答案
不 - 目前不可能。
您必须提供一个单独的接口(interface)/对象 - 例如一个IScreenService
。
假设您的所有屏幕都在同一个程序集中,我想您可以使用以下服务来提供此服务:
public interface IScreenService
{
IEnumerable<IScreen> CreateAll();
}
public class ScreenService : IScreenService
{
public IEnumerable<IScreen> CreateAll()
{
return this.GetType().Assembly
.CreatableTypes()
.Inherits<IScreen>()
.Select(t => Mvx.IocConstruct(t));
}
}
关于mvvmcross - MvxSimpleIoCContainer 和多个具体实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16464766/