void InitFunctions(TreeNode ndRoot) { List<string> ar = new List<string>(); ar.AddRange(StaticLists.FunctionList); // Build list of methods in the VBFunctions class ReportingCloud.Engine.FontStyleEnum fsi = FontStyleEnum.Italic; // just want a class from ReportingCloud.Engine.dll assembly Assembly a = Assembly.GetAssembly(fsi.GetType()); if (a == null) return; Type ft = a.GetType("ReportingCloud.Engine.VBFunctions"); BuildMethods(ar, ft, ""); // build list of financial methods in Financial class ft = a.GetType("ReportingCloud.Engine.Financial"); BuildMethods(ar, ft, "Financial."); // build list of financial methods in Entity class ft = a.GetType("ReportingCloud.Engine.Entity"); BuildMethods(ar, ft, "Entity."); a = Assembly.GetAssembly("".GetType()); ft = a.GetType("System.Math"); BuildMethods(ar, ft, "Math."); ft = a.GetType("System.Convert"); BuildMethods(ar, ft, "Convert."); ft = a.GetType("System.String"); BuildMethods(ar, ft, "String."); ar.Sort(); string previous=""; foreach (string item in ar) { if (item != previous) // don't add duplicates { // Add the node to the tree TreeNode aRoot = new TreeNode(item); ndRoot.Nodes.Add(aRoot); } previous = item; } }