private void Add(INamespaceName item) { var position = item.GetHashCode() & NamespaceNamesMask; var nodes = _NamespaceNames[position]; if (nodes == null) { _NamespaceNames[position] = nodes = new NamespaceNameCollection(); } nodes.Add(item); }
public FlyweightFactory() { GlobalNamespaceName = new GlobalNamespaceName(); _NamespaceNames = new NamespaceNameCollection[NamespaceNamesSize]; _NamespaceNamesMask = _NamespaceNames.Length - 1; _TypeNames = new TypeNameCollection[TypeNamesSize]; Add(PrimitiveTypeName.@char()); Add(PrimitiveTypeName.@sbyte()); Add(PrimitiveTypeName.@short()); Add(PrimitiveTypeName.@int()); Add(PrimitiveTypeName.@long()); Add(PrimitiveTypeName.@byte()); Add(PrimitiveTypeName.@ushort()); Add(PrimitiveTypeName.@uint()); Add(PrimitiveTypeName.@ulong()); Add(PrimitiveTypeName.@float()); Add(PrimitiveTypeName.@double()); Add(PrimitiveTypeName.@decimal()); Add(PrimitiveTypeName.@bool()); Add(PrimitiveTypeName.@string()); Add(PrimitiveTypeName.@object()); Add(PrimitiveTypeName.@void()); }