方法Solution.Projects.Index(Object index)获取项目的索引作为数字。
我有项目的名称。如何以编程方式确定该项目解决方案中的索引?
方法Solution.Projects.Index(Object index)获取项目的索引作为数字。
我有项目的名称。如何以编程方式确定该项目解决方案中的索引?
您可以使用 linq:
string yourProject = "ProjectName";
var query = Solution.Projects.Cast<Project>()
.Select((p, i) => new { Name = p.Name, Index = i})
.First(p => p.Name == yourProject).Index;
如果您有项目的名称,则可以遍历所有项目以查找所需项目的索引:
int index = 0;
foreach(Project project in dte.Solution.Projects)
{
if (string.Equals(project.Name, "desired project name"))
{
break;
}
index++;
}
另一方面,为什么您实际上需要项目的索引?您也可以使用Item
带有项目名称的方法作为参数。
传递给 index 的值是一个整数,它是其集合中 Project 对象的索引。index 的值也可以是一个字符串值,它等同于集合中项目的名称。