internal virtual bool TryGetEnumMember(EnumType type, String memberName, bool ignoreCase, out EnumMember outMember) { DebugCheck.NotNull(type); Check.NotEmpty(memberName, "memberName"); outMember = null; return type.Members.TryGetValue(memberName, ignoreCase, out outMember); }
internal MetadataEnumMember(string name, TypeUsage enumType, EnumMember enumMember) : base(MetadataMemberClass.EnumMember, name) { Debug.Assert(enumType != null, "enumType must not be null"); Debug.Assert(enumMember != null, "enumMember must not be null"); EnumType = enumType; EnumMember = enumMember; }
internal MetadataEnumMember(string name, TypeUsage enumType, EnumMember enumMember) : base(MetadataMemberClass.EnumMember, name) { DebugCheck.NotNull(enumType); DebugCheck.NotNull(enumMember); EnumType = enumType; EnumMember = enumMember; }
// <summary> // Adds the specified member to the member collection // </summary> // <param name="enumMember"> Enumeration member to add to the member collection. </param> internal void AddMember(EnumMember enumMember) { DebugCheck.NotNull(enumMember); Debug.Assert( Helper.IsEnumMemberValueInRange( UnderlyingType.PrimitiveTypeKind, Convert.ToInt64(enumMember.Value, CultureInfo.InvariantCulture))); Debug.Assert(enumMember.Value.GetType() == UnderlyingType.ClrEquivalentType); Members.Source.Add(enumMember); }
protected virtual void Visit(EnumMember enumMember) { }
protected override void VisitEdmEnumTypeMember(EnumMember item) { _schemaWriter.WriteEnumTypeMemberElementHeader(item); base.VisitEdmEnumTypeMember(item); _schemaWriter.WriteEndElement(); }
/// <summary> /// Converts SchemaEnumType instance to Metadata EnumType. /// </summary> /// <param name="somEnumType">SchemaEnumType to be covnerted.</param> /// <param name="newGlobalItems">Global item objects where newly created Metadata EnumType will be added.</param> /// <returns></returns> private static EnumType ConvertToEnumType(Som.SchemaEnumType somEnumType, Dictionary<Som.SchemaElement, GlobalItem> newGlobalItems) { Debug.Assert(somEnumType != null, "somEnumType != null"); Debug.Assert(newGlobalItems != null, "newGlobalItems != null"); Debug.Assert( somEnumType.UnderlyingType is Som.ScalarType, "At this point the underlying type should have already been validated and should be ScalarType"); var enumUnderlyingType = (Som.ScalarType)somEnumType.UnderlyingType; // note that enums don't live in SSpace so there is no need to GetDataSpace() for it. var enumType = new EnumType( somEnumType.Name, somEnumType.Namespace, enumUnderlyingType.Type, somEnumType.IsFlags, DataSpace.CSpace); var clrEnumUnderlyingType = enumUnderlyingType.Type.ClrEquivalentType; foreach (var somEnumMember in somEnumType.EnumMembers) { Debug.Assert(somEnumMember.Value != null, "value must not be null at this point"); var enumMember = new EnumMember( somEnumMember.Name, Convert.ChangeType(somEnumMember.Value, clrEnumUnderlyingType, CultureInfo.InvariantCulture)); if (somEnumMember.Documentation != null) { enumMember.Documentation = ConvertToDocumentation(somEnumMember.Documentation); } AddOtherContent(somEnumMember, enumMember); enumType.AddMember(enumMember); } if (somEnumType.Documentation != null) { enumType.Documentation = ConvertToDocumentation(somEnumType.Documentation); } AddOtherContent(somEnumType, enumType); newGlobalItems.Add(somEnumType, enumType); return enumType; }
protected override void VisitEdmEnumTypeMember(EnumMember item) { this._schemaWriter.WriteEnumTypeMemberElementHeader(item); base.VisitEdmEnumTypeMember(item); this._schemaWriter.WriteEndElement(); }
internal void WriteEnumTypeMemberElementHeader(EnumMember enumTypeMember) { this._xmlWriter.WriteStartElement("Member"); this._xmlWriter.WriteAttributeString("Name", enumTypeMember.Name); this._xmlWriter.WriteAttributeString("Value", enumTypeMember.Value.ToString()); }
internal void WriteEnumTypeMemberElementHeader(EnumMember enumTypeMember) { DebugCheck.NotNull(enumTypeMember); _xmlWriter.WriteStartElement(XmlConstants.Member); _xmlWriter.WriteAttributeString(XmlConstants.Name, enumTypeMember.Name); _xmlWriter.WriteAttributeString(XmlConstants.Value, enumTypeMember.Value.ToString()); }
internal virtual bool TryGetEnumMember(EnumType type, String memberName, bool ignoreCase, out EnumMember outMember) { DebugCheck.NotNull(type); Check.NotEmpty(memberName, "memberName"); outMember = null; return(type.Members.TryGetValue(memberName, ignoreCase, out outMember)); }
protected override void Visit(EnumMember enumMember) { int index; if (!AddObjectToSeenListAndHashBuilder(enumMember, out index)) { return; } AddObjectStartDumpToHashBuilder(enumMember, index); AddObjectContentToHashBuilder(enumMember.Name); AddObjectContentToHashBuilder(enumMember.Value); base.Visit(enumMember); AddObjectEndDumpToHashBuilder(); }
internal void AddMember(EnumMember enumMember) { this.Members.Source.Add(enumMember); }
private static EnumMember CreateInternal( string name, object value, IEnumerable<MetadataProperty> metadataProperties) { var instance = new EnumMember(name, value); if (metadataProperties != null) { instance.AddMetadataProperties(metadataProperties.ToList()); } instance.SetReadOnly(); return instance; }