Browse Source

Revert to original Splat's behavior

pull/197/head
Nikita Tsukanov 11 years ago
parent
commit
bed653012f
  1. 20
      src/Perspex.Base/PerspexLocator.cs

20
src/Perspex.Base/PerspexLocator.cs

@ -30,12 +30,7 @@ namespace Perspex
public object GetService(Type t) public object GetService(Type t)
{ {
Func<object> rv; Func<object> rv;
if (_registry.TryGetValue(t, out rv)) return _registry.TryGetValue(t, out rv) ? rv() : _parentScope?.GetService(t);
return rv();
var parentRv = _parentScope?.GetService(t);
if (parentRv != null)
return parentRv;
throw new TypeLoadException("Unable to find registrations for service " + t);
} }
public class RegistrationHelper<TService> public class RegistrationHelper<TService>
@ -94,11 +89,24 @@ namespace Perspex
} }
} }
class NullDisposable : IDisposable
{
public void Dispose()
{
}
}
public static IDisposable EnterScope() public static IDisposable EnterScope()
{ {
return new NullDisposable();
//Switch to that code when we are ready to fix tests
/*
var d = new ResolverDisposable(Current, CurrentMutable); var d = new ResolverDisposable(Current, CurrentMutable);
Current = CurrentMutable = new PerspexLocator(Current); Current = CurrentMutable = new PerspexLocator(Current);
return d; return d;
*/
} }
} }

Loading…
Cancel
Save