System.Xml.Serialization.CodeIdentifiers.MakeUnique C# (CSharp) Method

MakeUnique() public method

public MakeUnique ( string identifier ) : string
identifier string
return string
        public string MakeUnique(string identifier)
        {
            if (IsInUse(identifier))
            {
                for (int i = 1; ; i++)
                {
                    string newIdentifier = identifier + i.ToString(CultureInfo.InvariantCulture);
                    if (!IsInUse(newIdentifier))
                    {
                        identifier = newIdentifier;
                        break;
                    }
                }
            }
            // Check that we did not violate the identifier length after appending the suffix.
            if (identifier.Length > CodeIdentifier.MaxIdentifierLength)
            {
                return MakeUnique("Item");
            }
            return identifier;
        }

Usage Example

Example #1
0
        void AddAttributeFieldMember(CodeTypeDeclaration codeClass, XmlTypeMapMemberAttribute attinfo, string defaultNamespace)
        {
            CodeTypeMember codeField = CreateFieldMember(codeClass, attinfo);

            CodeAttributeDeclarationCollection attributes = codeField.CustomAttributes;

            if (attributes == null)
            {
                attributes = new CodeAttributeDeclarationCollection();
            }

            GenerateAttributeMember(attributes, attinfo, defaultNamespace, false);
            if (attributes.Count > 0)
            {
                codeField.CustomAttributes = attributes;
            }

            if (attinfo.MappedType != null)
            {
                ExportMapCode(attinfo.MappedType, false);
                RemoveInclude(attinfo.MappedType);
            }

            if (attinfo.TypeData.IsValueType && attinfo.IsOptionalValueType)
            {
                codeField            = CreateFieldMember(codeClass, typeof(bool), identifiers.MakeUnique(attinfo.Name + "Specified"));
                codeField.Attributes = MemberAttributes.Public;
                GenerateSpecifierMember(codeField);
            }
        }
All Usage Examples Of System.Xml.Serialization.CodeIdentifiers::MakeUnique