Попытка получить информацию о доверии леса, но не знаю, как обрабатывать пустой элемент.C # - PullRequest
0 голосов
/ 06 октября 2018

Я новичок в c #, поэтому я надеюсь, что это простой вопрос.Я пытаюсь запросить у домена информацию о доверии, которая работает, если элемент не является нулевым.Я получаю «Необработанное исключение: System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException: Элемент не найден».

Если я закомментирую информацию о Лесе, например имена верхнего уровня, доверенный_домен и доверенные имена уровней, это будет работать.

class Format
{
    public static string TrustInfo(TrustRelationshipInformationCollection forestTrustCollection)
    {
        string result = "\n";
        foreach (ForestTrustRelationshipInformation trust in forestTrustCollection)
        {

            result += $"ForestName             : {Commands.GetNetForest()} \n";
            result += $"TopLevelNames           : {trust.TopLevelNames.ToString() ?? string.Empty} \n";
            result += $"ExcludedTopLevelNames   : {trust.ExcludedTopLevelNames.ToString() ?? string.Empty} \n";
            result += $"TrustedDomainInformation: {trust.TrustedDomainInformation.ToString() ?? string.Empty} \n";
            result += $"SourceName             : {trust.SourceName} \n";
            result += $"TargetName             : {trust.TargetName} \n";
            result += $"Direction               : {trust.TrustDirection} \n";
            result += $"Type                    : {trust.TrustDirection} \n";
        }

        return result;

    }


}

1 Ответ

0 голосов
/ 06 октября 2018

Просто проверьте, являются ли они нулевыми, прежде чем добавлять каждый результат:

class Format
{
    public static string TrustInfo(TrustRelationshipInformationCollection forestTrustCollection)
    {
        string result = "\n";
        foreach (ForestTrustRelationshipInformation trust in forestTrustCollection)
        {

            result += $"ForestName             : {Commands.GetNetForest()} \n";
            if(trust.TopLevelNames != null)
                result += $"TopLevelNames           : {trust.TopLevelNames.ToString()} \n";
            if(trust.ExcludedTopLevelNames != null)      
                result += $"ExcludedTopLevelNames   : {trust.ExcludedTopLevelNames.ToString()} \n";
            //etc.

        }
        return result;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...