private void buildImports(TypeStructure typeStructure) { var imports = TypeExtractor.GetTypes(typeStructure); multiplyTags(imports.Count, ((JSRenderble)DI.Get <IImport>(typeStructure)).Name); childRenderbles.AddRange(imports.Select(importTypeStructure => (JSRenderble)DI.Get <IImport>(importTypeStructure))); }
private void buildImports(ClassStructure classStructure) { var imports = TypeExtractor.GetTypes(classStructure); multiplyTags(imports.Count, ((JSRenderble)DI.Get <IRequestContextImport>()).Name); childRenderbles.AddRange(imports.Select(importTypeStructure => (JSRenderble)DI.Get <IRequestContextImport>(importTypeStructure))); }
public ExportRequestContext(ClassStructure classStructure) : base("ExportRequestContext") { var exportClasses = TypeExtractor.GetTypes(classStructure).Select(x => Configuration.Instance.ModelsNameFactory(x.TypeName)).ToList(); exportClasses.Add(classStructure.Name); tagValues = new Dictionary <string, string> { { typesTag, exportClasses.Aggregate((a, b) => $"{a},{b}") } }; }
public void TypeExtractorMustListTypesFromGivenAssembly() { Assembly targetAssembly = typeof(SampleClass).Assembly; ITypeExtractor extractor = new TypeExtractor(); IEnumerable <Type> results = extractor.GetTypes(targetAssembly); Assert.IsNotNull(results); Assert.IsTrue(results.Count() > 0); }
public void TypeExtractorMustListTypesFromGivenAssembly() { var targetAssembly = typeof(SampleClass).Assembly; ITypeExtractor extractor = new TypeExtractor(); var results = extractor.GetTypes(targetAssembly); Assert.NotNull(results); Assert.True(results.Count() > 0); }
public void AddExtensionMethodsFrom(Assembly extensionAssembly) { var extensionAttributeType = typeof(ExtensionAttribute); // Scan the target assembly for extension methods that pertain to the current type var typeExtractor = new TypeExtractor(); var loadedTypes = typeExtractor.GetTypes(extensionAssembly); // Add every extension method inside that assembly var bindingFlags = BindingFlags.Public | BindingFlags.Static; var extensionMethods = loadedTypes.SelectMany(t => t.GetMethods(bindingFlags)) .Where(m => m.GetCustomAttributes(extensionAttributeType, false).Any()); _extensionMethodPool.AddRange(extensionMethods); }