public static void Export() { var bf = BindingFlags.Public | BindingFlags.Static; foreach (var method in typeof(MetadataSamples).GetMethods(bf)) { MetadataSampleAttribute sampleAttr = null; foreach (var obj in method.GetCustomAttributes(false)) { var cattr = obj as MetadataSampleAttribute; if (cattr != null) { sampleAttr = cattr; break; } } if (sampleAttr == null) { continue; } var name = sampleAttr.Name ?? method.Name; var doc = (MetadataSet)method.Invoke(null, null); TestContext.SaveMetadata(name, doc); } }
public static void Export(string outputDir) { if (!Directory.Exists(outputDir)) { Directory.CreateDirectory(outputDir); } var bf = BindingFlags.Public | BindingFlags.Static; foreach (var method in typeof(MetadataSamples).GetMethods(bf)) { MetadataSampleAttribute sampleAttr = null; foreach (var obj in method.GetCustomAttributes(false)) { var cattr = obj as MetadataSampleAttribute; if (cattr != null) { sampleAttr = cattr; break; } } if (sampleAttr == null) { continue; } var name = sampleAttr.Name ?? method.Name; var metadata = (MetadataSet)method.Invoke(null, null); var xmlFilename = Path.Combine(outputDir, name + ".xml"); TestContext.SaveMetadata(xmlFilename, metadata); if (!sampleAttr.CreateConfig) { continue; } var configFilename = Path.Combine(outputDir, name + ".config"); TestContext.GenerateConfig(configFilename, metadata); } }