简单试验"/>
autofac 泛型注入 简单试验
1.概要
泛型注入
2.代码
using Autofac;
using System;namespace AutoFac泛型
{class Program{static void Main(string[] args){Console.WriteLine("AutoFac泛型");Program p = new Program();p.main();Console.ReadKey();}private void main(){test1();test2();}/// <summary>/// 普通反射注册/// </summary>private void test1(){var builder = new ContainerBuilder();builder.RegisterType<B<A1>>();IContainer container = builder.Build();B<A1> a = container.Resolve<B<A1>>();int b = a.fun(1, 2);Console.WriteLine(b);}/// <summary>/// 以泛型的方式注册/// </summary>private void test2(){var builder = new ContainerBuilder();builder.RegisterGeneric(typeof(B<>));IContainer container = builder.Build();B<A2> a = container.Resolve<B<A2>>();int b = a.fun(1, 2);Console.WriteLine(b);}interface IA{int add(int a, int b);}class A1 : IA{public int add(int a, int b){return a + b;}}class A2 : IA{public int add(int a, int b){return a + b;}}class B<T> where T : IA, new(){T t = new T();public int fun(int a, int b){return t.add(a, b);}}}
}
3.运行结果
AutoFac泛型
3
3
更多推荐
autofac 泛型注入 简单试验
发布评论