/// <summary>
        /// Generates code for a named type
        /// </summary>
        /// <param name="type">The type to generate for</param>
        public void Generate(NamedType type)
        {
            string name = _transformTypeName(type.Name);
            string path = Path.Combine(_directory, name + ".cs");
            using(var emitter = new CSharpEmitter(path))
            {
                emitter.EmitUsing("System");
                emitter.EmitUsing("BACnet.Types");
                emitter.EmitUsing("BACnet.Types.Schemas");
                emitter.WriteLine();

                using(var ns = emitter.Namespace(_namespace))
                {
                    _generateDefinition(ns, name, null, type.Definition, true, null);
                }
            }
        }