1

方法Solution.Projects.Index(Object index)获取项目的索引作为数字。

我有项目的名称。如何以编程方式确定该项目解决方案中的索引?

4

2 回答 2

6

您可以使用 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;
于 2014-01-02T08:37:00.550 回答
1

如果您有项目的名称,则可以遍历所有项目以查找所需项目的索引:

int index = 0;
foreach(Project project in dte.Solution.Projects)
{
    if (string.Equals(project.Name, "desired project name"))
    {
        break;
    }
    index++;
}

另一方面,为什么您实际上需要项目的索引?您也可以使用Item带有项目名称的方法作为参数。

传递给 index 的值是一个整数,它是其集合中 Project 对象的索引。index 的值也可以是一个字符串值,它等同于集合中项目的名称。

于 2014-01-02T08:40:14.970 回答