public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Name?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DataType?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + IsAuditable.GetHashCode();
            hashCode = hashCode * -1521134295 + IsComplex.GetHashCode();
            hashCode = hashCode * -1521134295 + IsCollection.GetHashCode();
            return(hashCode);
        }
Пример #2
0
        public override bool TryGetValue(dynamic key, out dynamic value)
        {
            IsComplex.AssertTrue();

            // todo. wtf does the commented code crash?!
//            var imported = ImportKey(key);

            var containsKey = _complex.ContainsKey(ImportKey((Object)key));

            if (containsKey)
            {
                value = ExportValue(_complex[ImportKey((Object)key)]);
                return(true);
            }
            else
            {
                value = null;
                // todo. we return nulls when the property ain't exist!
                // this is analogous to javascript's behavior that returns undefined
                return(true);
            }
        }
Пример #3
0
 public override void Clear()
 {
     IsComplex.AssertTrue();
     _complex.Clear();
 }
Пример #4
0
 public override bool Remove(dynamic key)
 {
     IsComplex.AssertTrue();
     // todo. wtf dynamic ain't work here as well
     return(_complex.Remove(ImportKey((Object)key)));
 }
Пример #5
0
 protected override void SetValue(dynamic key, dynamic value)
 {
     IsComplex.AssertTrue();
     // todo. wtf dynamic ain't work here as well
     _complex[ImportKey((Object)key)] = ImportValue((Object)value);
 }