C# Windsor Castle 简单例子
2021-03-04 18:26
标签:bag 创建 typeof title 获取 页面 地方 gis 调用 Windsor是Castle的IOC框架。需要用到两个dll(Castle.Core.dll和Castle.Windsor.dll)。 1、接口以及接口实现类: 2、创建自定义类WindsorInstaller,继承IWindsorInstaller,实现IWindsorInstaller的Install方法,这个类虽然看不到有引用的地方,但是它的install 方法会被扫描调用到(如果当某个其他地方有使用到WindsorContainer的Install方法时候),如下: 3、创建自定义类WindsorInit,单例模式获取ioc容器: 4、mvc中controller中使用: 页面会输出结果:30 这里简单实现Castle Windsor(IOC)。 C# Windsor Castle 简单例子 标签:bag 创建 typeof title 获取 页面 地方 gis 调用 原文地址:https://www.cnblogs.com/wgscd/p/12916426.htmlpublic interface ITest
{
int Add(int a, int b);
}
public class Test:ITest
{
public int Add(int a, int b)
{
return a + b;
}
}
public class WindsorInstaller: IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
//单个注册法,还有其他方式
//ITest为接口,Test为接口的实现类
container.Register(Component.For
public class WindsorInit
{
private static WindsorContainer _container;
public static WindsorContainer GetContainer()
{
if (_container == null)
{
_container = new WindsorContainer();
//_container.Install(FromAssembly.This());//这个时候调用到前面的那个类(WindsorInstaller)的Install方法。
_container.Install(Castle.Windsor.Installer.FromAssembly.Containing(typeof(WindsorInit)));
} return _container;
} public void CloseContex()
{ _container.Dispose(); }
}public class HomeController : Controller
{
private ITest _test;
public ActionResult Index()
{
WindsorContainer container = WindsorInit.GetContainer();
_test = container.Resolve
文章标题:C# Windsor Castle 简单例子
文章链接:http://soscw.com/index.php/essay/60104.html