public void VisitTypes(TypeInfoDelegate h) { if (this.BaseType != null) { h(this.BaseType); } #region Constructors for (int i = 0; i < this.ConstructorsCount; i++) { var m = this.Constructors[i]; for (int j = 0; j < m.ParametersCount; j++) { var p = m.Parameters[j]; h(p.Type); } } #endregion #region Methods for (int i = 0; i < this.MethodsCount; i++) { var m = this.Methods[i]; h(m.ReturnParameter.Type); for (int j = 0; j < m.ParametersCount; j++) { var p = m.Parameters[j]; h(p.Type); } } #endregion }