2 // System.Xml.Serialization.CodeIdentifier.cs
5 // Tim Coleman (tim@timcoleman.com)
7 // Copyright (C) Tim Coleman, 2002
12 namespace System.Xml.Serialization {
13 public class CodeIdentifier {
15 public CodeIdentifier ()
19 public static string MakeCamel (string identifier)
21 string validIdentifier = MakeValid (identifier);
22 return (Char.ToLower (validIdentifier[0]) + validIdentifier.Substring (1));
25 public static string MakePascal (string identifier)
27 string validIdentifier = MakeValid (identifier);
28 return (Char.ToUpper (validIdentifier[0]) + validIdentifier.Substring (1));
31 public static string MakeValid (string identifier)
33 if (identifier == null)
34 throw new NullReferenceException ();
35 if (identifier.Length == 0)
40 if (Char.IsNumber (identifier[0]))
43 foreach (char c in identifier)
44 if (Char.IsLetterOrDigit (c) || c == '_')