Вы не можете получить содержимое файлов напрямую, вам нужно открыть их самостоятельно.Для каждого проверенного в вашем Evaluate
методе вы должны посмотреть на PendingCheckin.PendingChanges.CheckedPendingChanges
(чтобы убедиться, что вы ограничиваетесь только ожидающими изменениями, которые будут проверены.) Каждый PendingChange
имеет LocalItem
, который вы можете открытьи отсканируйте.
Например:
public override PolicyFailure[] Evaluate()
{
List<PolicyFailure> failures = new List<PolicyFailure>();
foreach(PendingChange pc in PendingCheckin.PendingChanges.CheckedPendingChanges)
{
if(pc.LocalItem == null)
{
continue;
}
/* Open the file */
using(FileStream fs = new FileStream(pc.LocalItem, ...))
{
if(/* File contains your prohibited code */)
{
failures.Add(new PolicyFailure(/* Explain the problem */));
}
fs.Close();
}
}
return failures.ToArray();
}