Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TokenizerState&lt;T&gt;"/> class.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="definition">The definition.</param>
        /// <param name="args">The args.</param>
        /// <param name="forCreate">if set to <c>true</c> [for create].</param>
        /// <remarks>Calls <see cref="ISupportInitialize.BeginInit"/> if the instance implements <see cref="ISupportInitialize"/></remarks>
        public TokenizerState(T instance, TokenizerDefinition definition, TokenizerArgs args, bool forCreate)
        {
            if (instance == null)
            {
                throw new ArgumentNullException("instance");
            }
            else if (definition == null)
            {
                throw new ArgumentNullException("definition");
            }
            else if (args == null)
            {
                throw new ArgumentNullException("args");
            }

            _instance   = instance;
            _definition = definition;
            _args       = args;

            if (forCreate)
            {
                _init = instance as ITokenizerInitialize;

                if (_init != null)
                {
                    TokenizerEventArgs e = new TokenizerEventArgs();
                    e.Context = args.Context;
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
        /// </summary>
        /// <remarks>Calls <see cref="ISupportInitialize.EndInit"/> if the instance implements <see cref="ISupportInitialize"/></remarks>
        public void Dispose()
        {
            ITokenizerInitialize init = _init;

            if (init != null)
            {
                _init = null;

                TokenizerEventArgs e = new TokenizerEventArgs();
                e.Context = _args.Context;
                init.OnEndInitialize(e);
            }
        }