public static TDictionaryInt16String Parse(SqlString AString)
    {
        if (AString.IsNull) return null;

        TDictionaryInt16String LResult = new TDictionaryInt16String();
        LResult.FromString(AString.Value);

        return LResult;
    }
    public static IEnumerable Enum(TDictionaryInt16String ADictionary)
    {
        if(ADictionary == null) yield break;

        Int16 LIndex = 0;
        foreach(KeyValuePair<Int16,String> LKeyPair in ADictionary.FList)
        {
          yield return new KeyValueIndexPair<Int16,String,Int32>(LKeyPair.Key, LKeyPair.Value, ++LIndex);
        }
    }
 public void Init()
 {
     OResult = new TDictionaryInt16String();
 }
 public void Read(System.IO.BinaryReader r)
 {
     //if (r == null) throw new ArgumentNullException("r");
     if(OResult == null)
       OResult = new TDictionaryInt16String();
     OResult.Read(r);
 }
    public bool Equals(TDictionaryInt16String AList)
    {
        if(AList == null || FList.Count != AList.FList.Count)
          return false;

        foreach(KeyValuePair<Int16,String> LKeyPair in AList.FList)
        {
          if(FList[LKeyPair.Key] != LKeyPair.Value)
        return false;
        }

        return true;
    }