コード例 #1
0
        public int GetHashCode(IJsonPosition obj)
        {
            if (obj == null)
            {
                return(0);
            }

            unchecked
            {
                return((obj.Explicit.GetHashCode() * 397) ^ (obj.Named?.GetHashCode() ?? 0));
            }
        }
コード例 #2
0
        public void FromJson(JsonValue json, JsonSerializer serializer)
        {
            if (json.Type != JsonValueType.Object)
            {
                return;
            }
            var obj = json.Object;

            Id    = obj.TryGetString("id");
            Board = obj.Deserialize <IJsonBoard>(serializer, "idBoard");
            Pos   = obj.Deserialize <IJsonPosition>(serializer, "pos");
        }
コード例 #3
0
        public void FromJson(JsonValue json, JsonSerializer serializer)
        {
            if (json.Type != JsonValueType.Object)
            {
                return;
            }
            var obj = json.Object;

            Id    = obj.TryGetString("id");
            State = obj.Deserialize <CheckItemState?>(serializer, "state");
            Name  = obj.TryGetString("name");
            Pos   = obj.Deserialize <IJsonPosition>(serializer, "pos");
        }
コード例 #4
0
        public bool Equals(IJsonPosition x, IJsonPosition y)
        {
            if (x == null && y != null)
            {
                return(false);
            }
            if (x != null && y == null)
            {
                return(false);
            }
            if (x == null)
            {
                return(true);
            }

            return(x.Explicit == y.Explicit &&
                   x.Named == y.Named);
        }
コード例 #5
0
        internal static Position GetPosition(IJsonPosition pos)
        {
            if (pos == null)
            {
                return(null);
            }
            if (pos.Named.IsNullOrWhiteSpace() && pos.Explicit.HasValue)
            {
                return(new Position(pos.Explicit.Value));
            }
            switch (pos.Named)
            {
            case "top":
                return(Top);

            case "bottom":
                return(Bottom);
            }
            return(null);
        }