using System; using AlicizaX.ObjectPool; namespace AlicizaX.UI.Runtime { internal class UIMetadataObject : ObjectBase { public static UIMetadataObject Create(UIMetadata target, string name) { UIMetadataObject obj = MemoryPool.Acquire(); obj.Initialize(name, target); return obj; } public static UIMetadataObject Create(UIMetadata target, RuntimeTypeHandle handle) { UIMetadataObject obj = MemoryPool.Acquire(); // Use type handle hash code as name to avoid string allocation obj.Initialize(handle.GetHashCode().ToString(), target); return obj; } protected internal override void Release(bool isShutdown) { UIMetadata metadata = (UIMetadata)Target; if (metadata != null) { } } } }