예제 #1
0
 public static PSPropertySelector TransformTruncUtcTicks(this PSPropertySelector source)
 {
     return(source.Transform(x => x != null ? (object)new DateTime((long)(Convert.ToInt64(x) / TimeSpan.TicksPerSecond) * TimeSpan.TicksPerSecond, DateTimeKind.Utc) : null));
 }
예제 #2
0
 public static PSPropertySelector TransformArray(this PSPropertySelector source)
 {
     return(source.Transform(x => (x != null) ? (ArrayList)((PSObject)x).ImmediateBaseObject : new ArrayList()));
 }
예제 #3
0
 public static PSPropertySelector TransformDmtfDate(this PSPropertySelector source)
 {
     return(source.Transform(x => (x != null) ? (object)new DateTime((long)(Convert.ToInt64(ManagementDateTimeConverter.ToDateTime(x.ToString()).ToUniversalTime().Ticks) / TimeSpan.TicksPerSecond) * TimeSpan.TicksPerSecond, DateTimeKind.Utc) : null));
 }
예제 #4
0
 public static PSPropertySelector As <T>(this PSPropertySelector source)
 {
     return(source.Expression(string.Format("[{0}]($_.{1})", typeof(T).FullName, source)));
 }
예제 #5
0
 public static PSPropertySelector Expression(this PSPropertySelector source, string expression)
 {
     source.PSExpression = expression;
     return(source);
 }
예제 #6
0
 public static PSPropertySelector Transform(this PSPropertySelector source, Func <object, object> transformation)
 {
     source.Transformation = transformation;
     return(source);
 }
예제 #7
0
 public static PSPropertySelector Alias(this PSPropertySelector source, string alias)
 {
     source.Alias = alias;
     return(source);
 }
예제 #8
0
 protected static string BuildPropertyNotation(PSPropertySelector sel)
 {
     return(sel.PSExpression == null ? sel.PSPropertyName : string.Format("@{{N='{0}';E={{{1}}}}}", sel.PSPropertyName, sel.PSExpression));
 }