Ext.Net.ComponentListeners.LoadViewState C# (CSharp) Method

LoadViewState() private method

private LoadViewState ( object state ) : void
state object
return void
        public override void LoadViewState(object state)
        {
            object[] states = state as object[];

            ResourceManager rm = this.ResourceManager;

            if (rm != null && !rm.ManageEventsViewState)
            {
                base.LoadViewState(state);  
            }

            if (states != null)
            {
                foreach (Pair pair in states)
                {
                    string listenerName = (string)pair.First;
                    object listenerState = pair.Second;

                    if (listenerName == "base")
                    {
                        base.LoadViewState(listenerState);
                    }
                    else
                    {
                        PropertyInfo property = this.GetType().GetProperty(listenerName);

                        if (property == null)
                        {
                            throw new InvalidOperationException("Can't find the property '{0}'".FormatWith(listenerName));
                        }

                        ComponentListener componentListener = (ComponentListener)property.GetValue(this, null);

                        if (componentListener != null)
                        {
                            componentListener.LoadViewState(listenerState); 
                        }
                    }
                }
            }
            else
            {
                base.LoadViewState(state);  
            }
        }
    }