private IAssemblyTypeInfo QueryTypeMethods( Type oAssemblyType, IAssemblyQueryFilter oQueryFilter) { IAssemblyTypeInfo oAssemblyTypeInfo = new AssemblyTypeInfo(oAssemblyType, oQueryFilter); if (oAssemblyTypeInfo.TypeMethodsCount > 0) { return(oAssemblyTypeInfo); } else { return(null); } }
private Type[] FilterOutTypes( Assembly oAssembly, IAssemblyQueryFilter oQueryFilter) { ArrayList oAssemblyTypes = new ArrayList(); Type[] AssemblyPublicTypes = oAssembly.GetTypes(); Type oCheckedType = null; bool bFilterByType = oQueryFilter != null && oQueryFilter.TypeName != null && oQueryFilter.TypeName != String.Empty; if (bFilterByType) { oCheckedType = AssemblyTypeInfo.GetTypeByName(oQueryFilter.TypeName, oAssembly); } foreach (Type oAssemblyType in AssemblyPublicTypes) { bool bShouldBeConsidered = oAssemblyType.IsClass && (oAssemblyType.IsPublic || oAssemblyType.IsNestedPublic); if (bShouldBeConsidered && bFilterByType) { bShouldBeConsidered = oCheckedType != null && oCheckedType.Equals(oAssemblyType); } if (bShouldBeConsidered) { oAssemblyTypes.Add(oAssemblyType); } } return((Type[])oAssemblyTypes.ToArray(typeof(Type))); }