Add project files.

This commit is contained in:
Stone_Red
2021-12-17 20:43:17 +01:00
parent e1af7ef0b8
commit 070ec5d9fe
11 changed files with 397 additions and 0 deletions
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>DynamicInjector_Test</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DynamicInjector\DynamicInjector.csproj" />
</ItemGroup>
</Project>
+11
View File
@@ -0,0 +1,11 @@
namespace DynamicInjector_Test;
internal class FirstTestService : IFirstTestService
{
private int count = 0;
public void Print()
{
Console.WriteLine(nameof(FirstTestService) + " | " + count++);
}
}
@@ -0,0 +1,6 @@
namespace DynamicInjector_Test;
internal interface IFirstTestService
{
public void Print();
}
+19
View File
@@ -0,0 +1,19 @@
using DynamicInjector;
namespace DynamicInjector_Test;
internal class Prgramm
{
private static void Main()
{
InjectionContainer injector = new InjectionContainer();
injector.RegisterGlobal<IFirstTestService, FirstTestService>();
injector.RegisterLocal<SecondTestService>();
TestClass? testClass = injector.Resolve<TestClass>();
testClass.Test();
injector.Invoke<TestClass>(testClass, (c) => c.Test);
}
}
+18
View File
@@ -0,0 +1,18 @@
namespace DynamicInjector_Test;
internal class SecondTestService
{
private readonly IFirstTestService firstTestService;
private int count = 0;
public SecondTestService(IFirstTestService firstTestService)
{
this.firstTestService = firstTestService;
}
public void Output()
{
firstTestService.Print();
Console.WriteLine(nameof(SecondTestService) + " | " + count++);
}
}
+28
View File
@@ -0,0 +1,28 @@
using DynamicInjector;
namespace DynamicInjector_Test;
internal class TestClass
{
private readonly IFirstTestService testService;
[Inject]
private SecondTestService? SecondTestService { get; set; }
public TestClass(IFirstTestService yes)
{
testService = yes;
}
public void Test()
{
testService.Print();
SecondTestService?.Output();
}
public int SecondTest(SecondTestService secondTestService)
{
secondTestService.Output();
return 100;
}
}