Example #1
0
        /// <summary>
        /// Accepts the specified visitor.
        /// </summary>
        /// <param name="visitor">The visitor.</param>
        public void Accept(IModelVisitor visitor)
        {
            foreach (var property in _propertyValues.Values)
            {
                property.Accept(visitor);
            }

            var method = visitor.GetType().GetMethod("VisitModel");
            var built  = method.MakeGenericMethod(GetType());

            built.Invoke(visitor, new[] { this });
        }