public PostProcessBeforeInitialization ( object instance, string name ) : object | ||
instance | object | |
name | string | |
리턴 | object |
public object PostProcessBeforeInitialization( object instance, string name )
{
if (SharedStateFactories.Length == 0)
{
return instance;
}
ISharedStateAware ssa = instance as ISharedStateAware;
if (ssa != null && ssa.SharedState == null)
{
// probe for first factory willing to serve shared state
foreach (ISharedStateFactory ssf in _sharedStateFactories)
{
if (ssf.CanProvideState( ssa, name ))
{
IDictionary sharedState = ssf.GetSharedStateFor( ssa, name );
if (sharedState != null)
{
ssa.SharedState = sharedState;
break;
}
}
}
}
return instance;
}
public void BeforeInitializationIsNoOp() { SharedStateAwareProcessor ssap = new SharedStateAwareProcessor(); object res = ssap.PostProcessBeforeInitialization(this, null); Assert.AreSame(this, res); }