internal bool TryUnparse(StringBuilder sb) { Contracts.AssertValue(sb); if (ResultType == null && KeyCount == null) return TryUnparseCore(sb); if (!TrySanitize()) return false; if (CmdQuoter.NeedsQuoting(Name) || CmdQuoter.NeedsQuoting(Source)) return false; int ich = sb.Length; sb.Append(Name); sb.Append(':'); if (ResultType != null) sb.Append(ResultType.Value.GetString()); if (KeyCount != null) { sb.Append('['); if (!KeyCount.TryUnparse(sb)) { sb.Length = ich; return false; } sb.Append(']'); } else if (!string.IsNullOrEmpty(Range)) sb.Append(Range); sb.Append(':'); sb.Append(Source); return true; }
public bool TryUnparse(StringBuilder sb) { Contracts.AssertValue(sb); if (ResultType == null && KeyCount == null) { return(TryUnparseCore(sb)); } if (!TrySanitize()) { return(false); } if (CmdQuoter.NeedsQuoting(Name) || CmdQuoter.NeedsQuoting(Source)) { return(false); } int ich = sb.Length; sb.Append(Name); sb.Append(':'); if (ResultType != null) { sb.Append(ResultType.Value); } if (KeyCount != null) { sb.Append('['); if (!KeyCount.TryUnparse(sb)) { sb.Length = ich; return(false); } sb.Append(']'); } sb.Append(':'); sb.Append(Source); return(true); }