Example #1
0
 public static bool TryConvertToFileUri(object value, UriKind kind, out FileUri result)
 {
     if (value != null)
     {
         object baseObject = (value is PSObject) ? ((PSObject)value).BaseObject : value;
         try
         {
             if (baseObject is Uri)
             {
                 result = FileUri.AsFileUri((Uri)value);
                 if (kind == UriKind.Absolute)
                 {
                     if (!result.IsAbsoluteUri)
                     {
                         throw new UriFormatException("URI is not absolute.");
                     }
                 }
                 if (kind == UriKind.Relative && !result.IsAbsoluteUri)
                 {
                     throw new UriFormatException("URI is not relative.");
                 }
             }
             else if (TryConvertToString(value, out string uriString))
             {
                 result = new FileUri(uriString, kind);
             }
             else
             {
                 result = null;
                 return(false);
             }
         }
         catch
         {
             result = null;
             return(false);
         }
     }
     else
     {
         result = null;
     }
     return(true);
 }
Example #2
0
 public static bool TryConvertToFileUri(object value, out FileUri result)
 {
     return(TryConvertToFileUri(value, UriKind.RelativeOrAbsolute, out result));
 }