private FlagsExpression<System.IO.FileAttributes> FormatAttributeSwitchParamters() { FlagsExpression<System.IO.FileAttributes> expression = null; StringBuilder builder = new StringBuilder(); if (((GetChildDynamicParameters) base.DynamicParameters).Directory != 0) { builder.Append("+Directory"); } if (((GetChildDynamicParameters) base.DynamicParameters).File != 0) { builder.Append("+!Directory"); } if (((GetChildDynamicParameters) base.DynamicParameters).System != 0) { builder.Append("+System"); } if (((GetChildDynamicParameters) base.DynamicParameters).ReadOnly != 0) { builder.Append("+ReadOnly"); } if (((GetChildDynamicParameters) base.DynamicParameters).Hidden != 0) { builder.Append("+Hidden"); } string str = builder.ToString(); if (!string.IsNullOrEmpty(str)) { expression = new FlagsExpression<System.IO.FileAttributes>(str.Substring(1)); } return expression; }
} // Dir /// <summary> /// Create an enum expression evaluator for user-specified attribute filtering /// switch parameters. /// </summary> /// <returns> /// If any attribute filtering switch parameters are set, /// returns an evaluator that evaluates these parameters. /// Otherwise, /// returns NULL /// </returns> private FlagsExpression<FileAttributes> FormatAttributeSwitchParamters() { FlagsExpression<FileAttributes> switchParamEvaluator = null; StringBuilder sb = new StringBuilder(); if (((GetChildDynamicParameters)DynamicParameters).Directory) { sb.Append("+Directory"); } if (((GetChildDynamicParameters)DynamicParameters).File) { sb.Append("+!Directory"); } if (((GetChildDynamicParameters)DynamicParameters).System) { sb.Append("+System"); } if (((GetChildDynamicParameters)DynamicParameters).ReadOnly) { sb.Append("+ReadOnly"); } if (((GetChildDynamicParameters)DynamicParameters).Hidden) { sb.Append("+Hidden"); } string switchParamString = sb.ToString(); if (!String.IsNullOrEmpty(switchParamString)) { // Remove unnecessary PLUS sign switchParamEvaluator = new FlagsExpression<FileAttributes>(switchParamString.Substring(1)); } return switchParamEvaluator; }