Пользовательская политика регистрации: доступ к файлам из файлов изменений. - PullRequest
3 голосов
/ 11 января 2012

Я пытаюсь записать мою собственную политику регистрации.Я хочу проверить, если какой-либо файл .cs содержит некоторый код.Поэтому мой вопрос: возможно ли получить содержимое каждого файла из набора изменений в переопределенных Initialize-Methode и / или Evaluate-Methode (из PolicyBase).

Спасибо заранее!

1 Ответ

4 голосов
/ 11 января 2012

Вы не можете получить содержимое файлов напрямую, вам нужно открыть их самостоятельно.Для каждого проверенного в вашем 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...