2009-09-03 5 views
2

Je souhaite héberger StyleCop dans un environnement personnalisé, l'exemple de code fourni dans SDK utilise ce foreach(string myProject in this.myProjects). String n'a pas des propriétés comme Path.GetHashCode() et FilesToAnalyze, est-ce que quelqu'un sait ce qui est this.myProjects?Hébergement StyleCop dans un environnement personnalisé

List<CodeProject> projects = new List<CodeProject>();  

// what is this.myProject? 
foreach (string myProject in this.myProjects) 
{ 
    CodeProject project = new CodeProject(
     myProject.Path.GetHashCode(), myProject.Path, configuration); 

    // Add each source file to this project. 
    foreach (string sourceFilePath in myProject.FilesToAnalyze) 
    { 
     console.Core.Environment.AddSourceCode(project, sourceFilePath, null); 
    } 

    projects.Add(project); 
} 

Répondre

2

Après avoir regardé l'exemple dans le SDK, je pense que myProject est juste un espace réservé pour indiquer comment construire une instance CodeProject.

Si vous le souhaitez, vous pouvez définir une classe comme indiqué ci-dessous ou conserver le chemin racine et les fichiers à analyser dans une structure de données différente.

public class MyProject 
{ 
    public string Path { get { ... } } 

    public IEnumerable<string> FilesToAnalyze { get { ... } } 
} 
+0

Vous avez peut-être raison ... mais voir la première foreach (string myProject dans this.myProjects), cela indique que MyProject est une collection de chaînes .... – alittlebitofday

+0

@alittlebitofday: Comme vous l'avez déjà observé, 'string' n'a pas de propriété 'Path' ou 'FilesToAnalyze'. Donc, l'exemple du SDK ne compilera pas "tel quel". – dtb

+0

Merci @dtb ... cela a fonctionné .... – alittlebitofday

0

Oui, ce n'est qu'un exemple de pseudocode. Votre meilleur pari pour aller à stylecop.codeplex.com et il suffit de regarder le code StyleCop réel. Il y a beaucoup d'exemples dans le code montrant comment héberger StyleCop.

Questions connexes