private static EnumObjectDescriptor CreateRoot() { EnumObjectDescriptor result = new EnumObjectDescriptor(); _descriptors.Add(typeof(EnumObject), result); return(result); }
private static EnumObjectDescriptor EnsureInit <T>() where T : EnumObject { if (_descriptors.TryGetValue(typeof(T), out EnumObjectDescriptor descriptor)) { return(descriptor); } else { descriptor = new EnumObjectDescriptor(typeof(T)); _descriptors.Add(typeof(T), descriptor); return(descriptor); } }
public bool IsDescendantOf(EnumObjectDescriptor other) { return(_baseDescriptors.Contains(other)); }