
创建流程如下:
1 调用Bind对象 BuildChannelListener<TChannel>()方法,该方法内部会创建BindingContext对象,同时把Bind对象的绑定元素传递给了BindingContext.
然后开始调用BindingContext.BuildInnerChannelListener<TChannel>()方法,该方法里面有一句关键代码this.RemoveNextElement().BuildChannelListener<TChannel>(this);
然后方法进入BindingElement内部,在其内部new了一个Listener对象,同时把Listener.InnerListerner=BindingContext.BuildInnerChannelListener<TChannel>()
这样递归的调用下去,最后每个绑定元素都被创建,被赋值给上一个对象的InnerListerner属性
本文详细解析了一个复杂的构建流程。从调用Bind对象的BuildChannelListener方法开始,递归地创建BindingContext,并为每个绑定元素分配InnerListener属性。
2万+

被折叠的 条评论
为什么被折叠?



