Skip to content

Instantly share code, notes, and snippets.

View mmierzwa's full-sized avatar
🎯
Focusing

Marek Mierzwa mmierzwa

🎯
Focusing
View GitHub Profile
@mmierzwa
mmierzwa / Setup.cs
Last active March 31, 2017 13:33
How to setup Ninject as the default DI container in MvvmCross
// in Setup class for Android project
protected override NinjectDependenciesProvider GetNinjectDependenciesProvider()
{
return new NinjectDroidDependenciesProvider();
}
@mmierzwa
mmierzwa / DependenciesModule.cs
Created March 31, 2017 13:29
How to setup Ninject as the default DI container in MvvmCross
public class CommonDependenciesModule : NinjectModule
{
public override void Load()
{
Bind<ISomeCommonService>().To<TheService>();
// ...
}
}
internal class IosNinjectModule : NinjectModule
public abstract class NinjectDependenciesProvider
{
protected abstract IEnumerable<INinjectModule> GetPlatformSpecificModules();
protected abstract IEnumerable<INinjectModule> GetPortableNinjectModules();
public IEnumerable<INinjectModule> GetNinjectModules()
{
foreach (var portableModule in GetPortableNinjectModules())
{
public class NinjectDroidDependenciesProvider : NinjectDependenciesProvider
{
protected override IEnumerable<INinjectModule> GetPlatformSpecificModules()
{
return new[] { new DroidNinjectModule() };
}
protected override IEnumerable<INinjectModule> GetPortableNinjectModules()
{
return new[] { new CommonDependenciesModule() };
public class NinjectIosDependenciesProvider : NinjectDependenciesProvider
{
protected override IEnumerable<INinjectModule> GetPlatformSpecificModules()
{
return new[] { new IosNinjectModule() };
}
protected override IEnumerable<INinjectModule> GetPortableNinjectModules()
{
return new[] { new CommonDependenciesModule() };
public abstract class NinjectMvxDroidSetup : MvxAndroidSetup
{
protected NinjectMvxDroidSetup(Context applicationContext) : base(applicationContext)
{
}
protected override void InitializeLastChance()
{
base.InitializeLastChance();
public class NinjectMvxIoCProvider : MvxSingleton<IMvxIoCProvider>, IMvxIoCProvider
{
public bool CanResolve<T>() => //...
public T Create<T>() => // ...
public object GetSingleton(Type type) => //...
public T Resolve<T>() => //...
public abstract class NinjectMvxIosSetup : MvxIosSetup
{
protected NinjectMvxIosSetup(IMvxApplicationDelegate applicationDelegate, UIWindow window)
: base(applicationDelegate, window)
{
}
protected NinjectMvxIosSetup(IMvxApplicationDelegate applicationDelegate, IMvxIosViewPresenter presenter) : base(applicationDelegate, presenter)
{
// in Setup class for iOS project
protected override NinjectDependenciesProvider GetNinjectDependenciesProvider()
{
return new NinjectIosDependenciesProvider();
}
@mmierzwa
mmierzwa / ISecureStorageService.cs
Last active April 24, 2017 08:12
Cleaning ADAL token cache on Android and iOS
public interface ISecureStorageService
{
void RemoveAdalRecords();
}