protected override IEnumType ObtainWrapper(IEnumType item) { var gtRegistrar = item as _IGenericClosureRegistrar; var genericParameters = Parent.GenericParameters; IGenericType genericResult; if (gtRegistrar != null && gtRegistrar.TryObtainGenericClosure(genericParameters, out genericResult)) { return((IEnumType)genericResult); } var result = new _EnumTypeBase(item, Parent.GenericParameters); if (gtRegistrar != null) { gtRegistrar.RegisterGenericClosure(result, genericParameters); } return(result); }
internal _FieldMember(IEnumFieldMember original, _EnumTypeBase parent) : base(original, parent) { }
internal FieldMemberDictionary(_FullMembersBase master, IFieldMemberDictionary <IEnumFieldMember, IEnumType> original, _EnumTypeBase parent) : base(master, original, parent) { }