您的位置:首页 > 其它

AutoFac文档12(转载)

2013-08-29 16:55 148 查看

目录

开始

Registering components

控制范围和生命周期

用模块结构化Autofac

xml配置

与.net集成

深入理解Autofac

指导

关于

词汇表

Resolve的参数

当注册或者检索component的时候可以使用参数

传递参数给Resolve

Resolve接受可变长度的参数列表

?
1
var fred = Resolve<Person>(
new
NamedParameter(
"name"
,
"Fred"
));


如果是通过反射注册的,这样做可以自动映射到类中指定对应参数的构造函数。比如:

?
1
2
3
4
class
Person

{

public
Person(
string
name)

...


可用的参数类型

Autofac提供几种不同的参数对应策略

NamedParameter -像上面那样对应的参数名字

TypedParameter -对应到参数的类型(必须是具体的类型)

ResolvedParameter 灵活的参数匹配

NamedParameter TypedParameter 只能提供常量参数

从表达式中使用参数

如果Person是使用表达式注册的,可以使用第二个可用的委托参数(IEnumerable类型)来获得参数。

?
1
builder.Register((c,p) => 
new
Person(p.Named<
string
>(
"name"
)));


委托工厂

阅读委托工厂来获得一种清晰简洁的创建需要参数的component的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: