我有一个小型的控制台应用,我在其中搜索大量.cs
个文件中的关键字。我现在想要遵循子文件到其父根文件的继承。到目前为止,我已经通过使用一种我不喜欢的非常无用的方法完成了这项工作。
我认为Reflection会很完美,但后来我很难弄清楚如何在外部文件上使用Reflection。
有人可以告诉我如何实现这个目标吗?
修改
static string GetParent(string location, string word)
{
string[] file = location.Split(new[] { "\\" }, StringSplitOptions.None);
try
{
using (StreamReader test = new StreamReader(location))
{
while ((line = test.ReadLine()) != null)
{
if (word == "ControlEventStates" && line.Contains(file.Last().ToString().Replace(".cs", "")))
{
string[] a = line.Split(new[] { " ", "(", ")", ";", ".", ",", "<", ">" }, StringSplitOptions.None);
for (int p = 0; p < a.Length; p++)
{
if (a[p] == ":" && a[p + 1] != "FunctionBase")
{
recValue = a[p + 1] + ".cs";
foreach (var item in Frontendfiles)
{
//newlocation = item;
string loc = Path.GetFileName(item);
if (loc == recValue)
{
GetParent(item, word);
}
else if (loc != recValue)
{
FindLine(item, a[p + 1] + " : ");
}
}
}
}
if (location != "" && location != null)
{
//LinesList = FindLine(newlocation, word);
return line;
}
}
}
}
return "";
}
catch (Exception ex)
{
throw ex;
}
}
正如我所说,这对于我想要完成的事情来说是可怕的编码。基本上我搜索包含当前类名的行,然后过滤掉字符串以查找父文件的位置。然后我使用父文件名来搜索其目录,然后再次启动该过程。