Ejemplo n.º 1
0
        internal static MshExpression GetDisplayNameExpression(
            PSObject target,
            MshExpressionFactory expressionFactory)
        {
            MshExpression defaultNameExpression = PSObjectHelper.GetDefaultNameExpression(target);

            if (defaultNameExpression != null)
            {
                return(defaultNameExpression);
            }
            string[] strArray = new string[6]
            {
                "name",
                "id",
                "key",
                "*key",
                "*name",
                "*id"
            };
            foreach (string s in strArray)
            {
                List <MshExpression> mshExpressionList = new MshExpression(s).ResolveNames(target);
                while (mshExpressionList.Count > 0 && (mshExpressionList[0].ToString().Equals(RemotingConstants.ComputerNameNoteProperty, StringComparison.OrdinalIgnoreCase) || mshExpressionList[0].ToString().Equals(RemotingConstants.ShowComputerNameNoteProperty, StringComparison.OrdinalIgnoreCase) || mshExpressionList[0].ToString().Equals(RemotingConstants.RunspaceIdNoteProperty, StringComparison.OrdinalIgnoreCase)))
                {
                    mshExpressionList.RemoveAt(0);
                }
                if (mshExpressionList.Count != 0)
                {
                    return(mshExpressionList[0]);
                }
            }
            return((MshExpression)null);
        }
Ejemplo n.º 2
0
 internal static MshExpression GetDisplayNameExpression(PSObject target, MshExpressionFactory expressionFactory)
 {
     MshExpression defaultNameExpression = GetDefaultNameExpression(target);
     if (defaultNameExpression != null)
     {
         return defaultNameExpression;
     }
     string[] strArray = new string[] { "name", "id", "key", "*key", "*name", "*id" };
     foreach (string str in strArray)
     {
         List<MshExpression> list = new MshExpression(str).ResolveNames(target);
         while ((list.Count > 0) && ((list[0].ToString().Equals(RemotingConstants.ComputerNameNoteProperty, StringComparison.OrdinalIgnoreCase) || list[0].ToString().Equals(RemotingConstants.ShowComputerNameNoteProperty, StringComparison.OrdinalIgnoreCase)) || (list[0].ToString().Equals(RemotingConstants.RunspaceIdNoteProperty, StringComparison.OrdinalIgnoreCase) || list[0].ToString().Equals(RemotingConstants.SourceJobInstanceId, StringComparison.OrdinalIgnoreCase))))
         {
             list.RemoveAt(0);
         }
         if (list.Count != 0)
         {
             return list[0];
         }
     }
     return null;
 }