public static KeyHashTag ToKeyHashTag(HashTag hashTag) { if (hashTag is KeyHashTag) { return(hashTag as KeyHashTag); } var hashTagEntry = First(hashTag); if (hashTagEntry != null) { return(hashTagEntry.HashTag); } return(null); }
private static HashTag BuildHashTag(string value) { var values = value.Split(Meta[0]); var tagValue = values.Length > 0 ? values[0] : string.Empty; var tagMetaValue = values.Length > 1 ? values[1] : string.Empty; var hashTag = new HashTag(tagValue, tagMetaValue); var keyHashTag = KeyHashTag.Parser.ToKeyHashTag(hashTag); if (keyHashTag != null) { hashTag = keyHashTag; } return(hashTag); }
public Entry(HashTag hashTag, int index, int length) { if (index < 0) { throw new ArgumentException("cant be less then 0", "index"); } if (length < 1) { throw new ArgumentException("cant be less then 1", "length"); } if (hashTag == null) { throw new ArgumentNullException("hashTag", "for creating empty hash tag use const NoHashTagEntry"); } Index = index; Length = length; this.hashTag = hashTag; }
/// <summary> /// For creating empty hashtag /// </summary> private Entry() { Index = -1; Length = 0; hashTag = null; }
protected virtual bool Equals(HashTag other) { return(string.Equals(tagValue, other.tagValue) && string.Equals(tagMetaValue, other.tagMetaValue)); }