Max*_*mus 2 c# android inversion-of-control mvvmcross xamarin
我在PCL中有一个名为MyProject.Core的“ Core”项目,该项目具有:
public interface IPhotoService
Run Code Online (Sandbox Code Playgroud)
然后,我创建一个名为MyProject.Core.Android的Android类库项目,并从nuget 添加MvvmCross Core的引用。现在,通过执行此操作,我现在知道我的Android类库没有“ setup.cs”。
在MyProject.Core.Android中,我希望该服务(特定于android)如下:
public class PhotoService : IPhotoService
Run Code Online (Sandbox Code Playgroud)
在我的Android UI项目中,我的Setup.cs包含以下内容:
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
}
Run Code Online (Sandbox Code Playgroud)
如果我的PhotoService注册存在于没有Setup.cs 的程序集MyProject.Core.Android中,该如何注册?
从https://github.com/MvvmCross/MvvmCross/wiki/Service-Location-and-Inversion-of-Control:
当然,您也可以在非Core的程序集上使用相同类型的注册逻辑-例如:
Run Code Online (Sandbox Code Playgroud)typeof(Reusable.Helpers.MyHelper).Assembly.CreatableTypes() .EndingWith("Helper") .AsInterfaces() .RegisterAsDynamic();
| 归档时间: |
|
| 查看次数: |
586 次 |
| 最近记录: |