Пользовательская политика регистрации: доступ к файлам из файлов изменений
Я пытаюсь записать мою собственную политику регистрации. Я хочу проверить, если какой-либо файл.cs содержит некоторый код. Поэтому мой вопрос: возможно ли получить содержимое каждого файла из набора изменений в переопределенных Initialize-Methode и / или Evaluate-Methode (из PolicyBase).
Заранее спасибо!
1 ответ
Решение
Вы не можете получить содержимое файлов напрямую, вам нужно открыть их самостоятельно. Для каждого зарегистрированного в вашем 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();
}