Beispiel #1
0
        /// <summary>
        /// Adds the specified user type as derived class to all its base classes.
        /// </summary>
        /// <param name="userType">The user type.</param>
        private void AddDerivedClassToBaseClasses(UserType userType)
        {
            IEnumerable <Symbol> allBaseClasses = userType.Symbol.GetAllBaseClasses();

            foreach (Symbol baseClass in allBaseClasses)
            {
                UserType         baseClassUserType = GlobalCache.GetUserType(baseClass);
                TemplateUserType templateUserType  = baseClassUserType as TemplateUserType;

                if (templateUserType != null)
                {
                    baseClassUserType = templateUserType.TemplateType;
                }

                if (baseClassUserType != null)
                {
                    baseClassUserType.AddDerivedClass(userType);
                }
            }
        }