标签:C# solutionModel Projectrefs 聚类 A3 A1 Add A2 分片
1 public static List<ProjectModel> While_ProjectRef(ProjectModel projectModel,SolutionModel solutionModel, 2 List<ProjectModel> ProjectCrip) 3 { 4 List<ProjectModel> Self_Refs = new List<ProjectModel>(); 5 if(projectModel.Projectrefs.Count>0) 6 { 7 foreach(var ProjectRef in projectModel.Projectrefs) 8 { 9 //对于每一个项目引用进行分析 10 foreach (var project in solutionModel.Projects) 11 { 12 //寻找项目引用的projecta 13 if (project.Name == ProjectRef.Name) 14 { 15 //如果已经被分析过了,那么就不再分析这个子引用 16 if (ProjectCrip.Contains(project)) 17 break; 18 ProjectCrip.Add(project); 19 Self_Refs.Add(project); 20 break; 21 } 22 } 23 } 24 foreach (var Project_ref in Self_Refs) 25 { 26 var child_project_ref=While_ProjectRef(Project_ref, solutionModel, ProjectCrip); 27 ProjectCrip = ProjectCrip.Union(child_project_ref).ToList(); 28 } 29 } 30 return ProjectCrip; 31 } 32 33 34 static public void Main(string[] args) 35 { 36 SolutionModel solutionModel = new SolutionModel(); 37 ProjectModel A1 = new ProjectModel(); 38 A1.Name = "A1"; 39 ProjectModel A2 = new ProjectModel(); 40 A2.Name = "A2"; 41 ProjectModel A3 = new ProjectModel(); 42 A3.Name = "A3"; 43 //Model1: A1-》A2-》A3 44 //A1.Projectrefs.Add(A2); 45 //A2.Projectrefs.Add(A3); 46 //Model2: A1-》A2-》A1 47 //A1.Projectrefs.Add(A2); 48 //A2.Projectrefs.Add(A1); 49 //Model3: A1-》A2-》A3->A1 50 //A1.Projectrefs.Add(A2); 51 //A2.Projectrefs.Add(A3); 52 //A2.Projectrefs.Add(A1); 53 54 //Model4: A1-》A2-》A3->A1 55 // A1->A3->A1 56 //A1.Projectrefs.Add(A2); 57 //A2.Projectrefs.Add(A3); 58 //A3.Projectrefs.Add(A1); 59 60 //A1.Projectrefs.Add(A3); 61 //A3.Projectrefs.Add(A1); 62 //Model5: A1-》A1 63 A1.Projectrefs.Add(A1); 64 65 66 solutionModel.Projects.Add(A1); 67 solutionModel.Projects.Add(A2); 68 solutionModel.Projects.Add(A3); 69 70 List<ProjectModel> result=new List<ProjectModel> (); 71 result = While_ProjectRef(A1, solutionModel, result); 72 if(!result.Contains(A1)) 73 result.Add(A1); 74 Console.ReadKey(); 75 }
标签:C#,solutionModel,Projectrefs,聚类,A3,A1,Add,A2,分片 来源: https://www.cnblogs.com/smartisn/p/16164223.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。