System.Xml.Serialization.ReflectionXmlSerializationWriter.WriteEnumMethod C# (CSharp) Method

WriteEnumMethod() private method

private WriteEnumMethod ( EnumMapping mapping, object v ) : string
mapping EnumMapping
v object
return string
        private string WriteEnumMethod(EnumMapping mapping, object v)
        {
            if (mapping != null && mapping.IsSoap)
            {
                throw new PlatformNotSupportedException();
            }

            if (mapping != null && mapping.IsFlags)
            {
                Type type = mapping.TypeDesc.Type;

                List<string> valueStrings = new List<string>();
                List<long> valueIds = new List<long>();
                foreach (var value in Enum.GetValues(type))
                {
                    valueStrings.Add(value.ToString());
                    valueIds.Add(Convert.ToInt64(value));
                }

                return FromEnum(Convert.ToInt64(v), valueStrings.ToArray(), valueIds.ToArray());
            }
            else
            {
                return v.ToString();
            }
        }