private Type TryGetEnumType(string assemblyname, string typeName) { var type = ClassHelper.GetClassType(assemblyname, typeName); if ((type != null) && type.IsEnum) { return(type); } return(null); }
/// <summary> /// Checks validity of inputs /// </summary> public override bool IsValid() { if (!ValidateAssembly) { return(true); } // Do not validate values returned via textboxes if (SimpleMode) { return(true); } // Do not validate if macros are used if (MacroProcessor.ContainsMacro(AssemblyName) || MacroProcessor.ContainsMacro(ClassName)) { return(true); } // Check allow empty setting if (AllowEmpty && (String.IsNullOrEmpty(AssemblyName) || String.IsNullOrEmpty(ClassName))) { return(true); } try { // Check assembly and class Type classObject = ClassHelper.GetClassType(AssemblyName, ClassName); if (classObject != null) { // Check base class if (String.IsNullOrEmpty(BaseClassNames) || (ClassHelper.IsAllowed(classObject, Settings))) { return(true); } } } catch { } // Set validation error message ValidationError = ErrorMessage; return(false); }
protected void btnGenerate_Click(object sender, EventArgs e) { string path = Server.MapPath("~/App_Data/CodeTemplates/"); // Prepare templates string classTemplate = File.ReadAllText(path + "TestClass.Template"); string methodTemplate = File.ReadAllText(path + "TestMethod.Template"); // Get the class instance string className = selClass.ClassName; string assemblyName = selClass.AssemblyName; if (selClass.IsValid()) { Type cls = ClassHelper.GetClassType(assemblyName, className); if (cls != null) { string ns = "Custom"; int dotIndex = className.LastIndexOfCSafe("."); if (dotIndex > 0) { ns = className.Substring(0, dotIndex); className = className.Substring(dotIndex + 1); } var methodsCode = new StringBuilder(); if (radSingle.Checked) { string methodName = txtMethodName.Text; methodName = ValidationHelper.GetIdentifier(ValidationHelper.GetCodeName(methodName)); // Single method AddMethod(methodsCode, methodTemplate, methodName); } else { // All methods AddMethods(methodsCode, methodTemplate, cls); AddProperties(methodsCode, methodTemplate, cls); } // Generate result string result = classTemplate .Replace("##NAMESPACE##", ns) .Replace("##CLASS##", className) .Replace("##METHODS##", methodsCode.ToString()); txtCode.Text = result; } // Generate class hierarchy if (!radSingle.Checked) { StringBuilder sb = new StringBuilder(); sb.Append("<ul>"); int level = 0; int coveredLevel = (chkInherited.Checked ? ValidationHelper.GetInteger(txtInheritance.Text, Int32.MaxValue) : 0); if (coveredLevel < 0) { coveredLevel = 0; } if (chkInherited.Checked) { txtInheritance.Text = coveredLevel.ToString(); } while (cls != null) { sb.Append("<li", (coveredLevel >= level ? " style=\"color: green;\"" : ""), ">", cls.Name, (cls.IsAbstract ? " (abstract)" : ""), "</li>"); cls = cls.BaseType; level++; } sb.Append("</ul>"); ltlHierarchy.Text = sb.ToString(); } } else { ShowError(GetString(selClass.ErrorMessage)); } }