diff --git a/LightweightIocContainer/Interfaces/IIocContainer.cs b/LightweightIocContainer/Interfaces/IIocContainer.cs index 79e4746..0b5d2bd 100644 --- a/LightweightIocContainer/Interfaces/IIocContainer.cs +++ b/LightweightIocContainer/Interfaces/IIocContainer.cs @@ -59,6 +59,7 @@ namespace LightweightIocContainer.Interfaces /// The Interface to register /// The for the callback /// The created + [Obsolete("RegisterUnitTestCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] IUnitTestCallbackRegistration RegisterUnitTestCallback(ResolveCallback unitTestCallback); /// diff --git a/LightweightIocContainer/Interfaces/Registrations/IUnitTestCallbackRegistration.cs b/LightweightIocContainer/Interfaces/Registrations/IUnitTestCallbackRegistration.cs index 2dd0123..d10f74e 100644 --- a/LightweightIocContainer/Interfaces/Registrations/IUnitTestCallbackRegistration.cs +++ b/LightweightIocContainer/Interfaces/Registrations/IUnitTestCallbackRegistration.cs @@ -2,17 +2,21 @@ // Created: 2019-10-15 // Copyright(c) 2019 SimonG. All Rights Reserved. +using System; + namespace LightweightIocContainer.Interfaces.Registrations { /// /// A special that allows to set a as a callback that is called on /// /// + [Obsolete("IUnitTestCallbackRegistration is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public interface IUnitTestCallbackRegistration : IRegistration { /// /// An that is set as a callback that is called on /// + [Obsolete("UnitTestResolveCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] ResolveCallback UnitTestResolveCallback { get; } } } \ No newline at end of file diff --git a/LightweightIocContainer/IocContainer.cs b/LightweightIocContainer/IocContainer.cs index 14f01af..8096bf9 100644 --- a/LightweightIocContainer/IocContainer.cs +++ b/LightweightIocContainer/IocContainer.cs @@ -115,6 +115,7 @@ namespace LightweightIocContainer /// The Interface to register /// The for the callback /// The created + [Obsolete("RegisterUnitTestCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public IUnitTestCallbackRegistration RegisterUnitTestCallback(ResolveCallback unitTestCallback) { IUnitTestCallbackRegistration registration = _registrationFactory.RegisterUnitTestCallback(unitTestCallback); @@ -209,10 +210,13 @@ namespace LightweightIocContainer T resolvedInstance; + //TODO: remove this #pragma when IUnitTestCallbackRegistration is removed +#pragma warning disable 618 if (registration is IUnitTestCallbackRegistration unitTestCallbackRegistration) { resolvedInstance = unitTestCallbackRegistration.UnitTestResolveCallback.Invoke(arguments); } +#pragma warning restore 618 else if (registration is IRegistrationBase defaultRegistration) { if (defaultRegistration.Lifestyle == Lifestyle.Singleton) diff --git a/LightweightIocContainer/Registrations/RegistrationFactory.cs b/LightweightIocContainer/Registrations/RegistrationFactory.cs index 41ec968..d780413 100644 --- a/LightweightIocContainer/Registrations/RegistrationFactory.cs +++ b/LightweightIocContainer/Registrations/RegistrationFactory.cs @@ -66,6 +66,7 @@ namespace LightweightIocContainer.Registrations return new TypedFactoryRegistration(typeof(TFactory), _iocContainer); } + [Obsolete("RegisterUnitTestCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public IUnitTestCallbackRegistration RegisterUnitTestCallback(ResolveCallback unitTestResolveCallback) { return new UnitTestCallbackRegistration(typeof(TInterface), unitTestResolveCallback); diff --git a/LightweightIocContainer/Registrations/UnitTestCallbackRegistration.cs b/LightweightIocContainer/Registrations/UnitTestCallbackRegistration.cs index 529d1e5..c489510 100644 --- a/LightweightIocContainer/Registrations/UnitTestCallbackRegistration.cs +++ b/LightweightIocContainer/Registrations/UnitTestCallbackRegistration.cs @@ -12,6 +12,7 @@ namespace LightweightIocContainer.Registrations /// A special that allows to set a as a callback that is called on /// /// + [Obsolete("UnitTestCallbackRegistration is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public class UnitTestCallbackRegistration : IUnitTestCallbackRegistration { /// diff --git a/Test.LightweightIocContainer/IocContainerTest.cs b/Test.LightweightIocContainer/IocContainerTest.cs index ccffa6c..39b1add 100644 --- a/Test.LightweightIocContainer/IocContainerTest.cs +++ b/Test.LightweightIocContainer/IocContainerTest.cs @@ -1,3 +1,4 @@ +using System; using JetBrains.Annotations; using LightweightIocContainer; using LightweightIocContainer.Exceptions; @@ -179,6 +180,7 @@ namespace Test.LightweightIocContainer } [Test] + [Obsolete("RegisterUnitTestCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public void TestRegisterUnitTestCallback() { Assert.DoesNotThrow(() => _iocContainer.RegisterUnitTestCallback(delegate {return new Test(); })); @@ -436,6 +438,7 @@ namespace Test.LightweightIocContainer } [Test] + [Obsolete("RegisterUnitTestCallback is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public void TestResolveUnitTestCallbackRegistration() { ITest callbackTest = new Test(); diff --git a/Test.LightweightIocContainer/UnitTestCallbackRegistrationTest.cs b/Test.LightweightIocContainer/UnitTestCallbackRegistrationTest.cs index 0e4a099..f9392db 100644 --- a/Test.LightweightIocContainer/UnitTestCallbackRegistrationTest.cs +++ b/Test.LightweightIocContainer/UnitTestCallbackRegistrationTest.cs @@ -2,6 +2,7 @@ // Created: 2019-10-15 // Copyright(c) 2019 SimonG. All Rights Reserved. +using System; using LightweightIocContainer; using LightweightIocContainer.Interfaces; using LightweightIocContainer.Interfaces.Registrations; @@ -12,6 +13,7 @@ using NUnit.Framework; namespace Test.LightweightIocContainer { [TestFixture] + [Obsolete("UnitTestCallbackRegistration is deprecated, use `WithFactoryMethod()` from ISingleTypeRegistration instead.")] public class UnitTestCallbackRegistrationTest { private interface ITest