Castle 的使用
新接触一个项目,前台项目采用了castle来作为IOC容器,这东东以前没接触过,但使用方法简单。
具体使用过程如下
首先写一个IocHelper类
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using StructureMap;
using StructureMap.Pipeline;
namespace common
{
public class IocHelper
{
/// <summary>
/// 获取指定类型的实例化对象
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <returns>实例化对象</returns>
public static T GetIocInstance<T>()
{
ObjectFactory.Initialize(
x =>
{
x.For<T>().LifecycleIs(Lifecycles.GetLifecycle(InstanceScope.PerRequest)).Use<T>();
});
return ObjectFactory.GetInstance<T>();
}
}
}
利用泛型方法来处理对象
然后调用的过程中直接写以下代码如:
IUserInfo_BLL bll=IocHelper.GetIocInstance<UserInfo_BLL>();
就可以使用了