MvvvmCross,如何在另一个程序集中注册Service
本文关键字:程序集 集中 注册 Service 程序 另一个 MvvvmCross | 更新日期: 2023-09-27 18:00:51
我在PCL中有一个"Core"项目,名为MyProject.Core,它有:
public interface IPhotoService
然后,我创建了一个Android类库项目,名为MyProject.Core.Android,并从nuget中添加对MvvvmCross-Core的引用。现在通过这样做,我知道我的Android类库没有"setup.cs">
在MyProject.Core.Android中,我希望服务(特定于Android(如下:
public class PhotoService : IPhotoService
在我的Android UI项目中,我的Setup.cs包含以下内容:
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
}
如果PhotoService存在于没有Setup.cs的程序集MyProject.Core.Android中,我如何注册它???
来源https://github.com/MvvmCross/MvvmCross/wiki/Service-Location-and-Inversion-of-Control:
当然,您也可以在Core以外的程序集上使用相同类型的注册逻辑,例如:
typeof(Reusable.Helpers.MyHelper).Assembly.CreatableTypes() .EndingWith("Helper") .AsInterfaces() .RegisterAsDynamic();