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