public static CodeResourceRef[] AnalyzeCodeFile(string[] Categories,string FilePath) { try { StreamReader sr = new StreamReader(FilePath); int nLineNumber = 1; List<CodeResourceRef> listCRR = new List<CodeResourceRef>(); while (!sr.EndOfStream) { string sLine = sr.ReadLine(); foreach (var c in Categories) { int start = sLine.IndexOf("R." + c + "."); if (start >= 0) { int end = sLine.LastIndexOfAny(ValidVariableCharacters()); string sRef = sLine.Substring(start, (end - start)+1); CodeResourceRef crr = new CodeResourceRef(); crr.ClassFile = Path.GetFileName(FilePath); crr.CodeLineNumber = nLineNumber.ToString(); crr.CodePosistion = start.ToString(); ResourceRef rr = new ResourceRef(); rr.Category = c; rr.RefId = sRef; rr.RefName = sRef.Split('.')[2]; crr.Ref = rr; listCRR.Add(crr); } } nLineNumber++; } sr.Close(); return listCRR.ToArray(); } catch (System.Exception ex) { } return null; }
public static CodeResourceRef[] AnalyzeCodeFile(string[] Categories, string FilePath) { try { StreamReader sr = new StreamReader(FilePath); int nLineNumber = 1; List <CodeResourceRef> listCRR = new List <CodeResourceRef>(); while (!sr.EndOfStream) { string sLine = sr.ReadLine(); foreach (var c in Categories) { int start = sLine.IndexOf("R." + c + "."); if (start >= 0) { int end = sLine.LastIndexOfAny(ValidVariableCharacters()); string sRef = sLine.Substring(start, (end - start) + 1); CodeResourceRef crr = new CodeResourceRef(); crr.ClassFile = Path.GetFileName(FilePath); crr.CodeLineNumber = nLineNumber.ToString(); crr.CodePosistion = start.ToString(); ResourceRef rr = new ResourceRef(); rr.Category = c; rr.RefId = sRef; rr.RefName = sRef.Split('.')[2]; crr.Ref = rr; listCRR.Add(crr); } } nLineNumber++; } sr.Close(); return(listCRR.ToArray()); } catch (System.Exception ex) { } return(null); }
public static ResourceRef[] UnusedResources(ResourceRef[] RRs, CodeResourceRef[] TotalCRR) { List<ResourceRef> listUnusedRR = new List<ResourceRef>(); foreach (var rr in RRs) { if (!RRinCRR(rr, TotalCRR)) listUnusedRR.Add(rr); } return listUnusedRR.ToArray(); }
private static bool RRinCRR(ResourceRef RR, CodeResourceRef[] CRRs) { foreach (var crr in CRRs) { if (crr.Ref.RefId.Equals(RR.RefId)) return true; } return false; }