Necesito hacer un programa que muestre cuantos metodos, cuantas clases, cuantos espacios en blanco, los ussing que hay, los comentarios y que aparte me imprima el nombre de los archivos que tengan la extension .cs pero es ahi donde me atore y no se como hacerlo... este es el codigo que tengo
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace loc
{
class Counter
{
//MetodoClase
private static void Main(string[] args)
{
int countmethods = 0, countclass = 0, countcom = 0, counter = 0, countblank = 0, countussing = 0;
string line;
string[] listfiles = null;
string ruta;
//Console.WriteLine("Next");
ruta = Console.ReadLine();
ruta = "C:\\Documents and Settings\\Administrador\\Mis documentos\\PSP\\loc\\loc\\";
listfiles = Directory.GetFiles(ruta);
foreach(string archivo in listfiles)
{
if(archivo.EndsWith(".cs"))
{
//System.IO.StreamReader file = new System.IO.StreamReader("C:\\Documents and Settings\\Administrador\\Mis documentos\\PSP\\Mde\\Mde\\Mdes.cs");
System.IO.StreamReader file = new System.IO.StreamReader(archivo);
while ((line = file.ReadLine()) != null)
{
System.Console.WriteLine(line);
if (string.IsNullOrEmpty(line))
{
countblank++;
continue;
}
else
counter++;
if (line.Trim().StartsWith("class"))
{
countclass++;
String[] arr = line.Trim().Split(',');
foreach (String name in arr)
{ }
//Aqui no hace nada //Console.WriteLine("Nombre de la clase:" + arr[0]); }
if(line.StartsWith("using"))
{
countussing++;
}
if (line.Trim().StartsWith("//MetodoClase"))
{
countmethods++;
}
else if (line.Trim().StartsWith("//"))
{
countcom++;
}
}
}
}
Console.Clear();
//En esta line ya no se que hacer Console.WriteLine("El nombre de la clase es:" );
Console.WriteLine("El Total de lineas es: {0} ", + counter);
Console.WriteLine("Comentarios solo inserte: {0} ", + countcom);
Console.WriteLine("Clases solo hay: {0}", + countclass);
Console.WriteLine("Hay: {0} lineas en blanco ", + countblank);
Console.WriteLine("Hay: {0} ussing", + countussing);
Console.WriteLine("Metodos solo hay: {0}", + countmethods);
Console.ReadLine();
}
}
}
Espero que alguien me pueda echar la mano... saludos