Ejemplo n.º 1
0
 public ClassEntity(ClassEntityType type, string className, string namespaceQualifiedId, NamespaceEntity namespaceEntity)
 {
     Type = type;
     Name = className;
     NamespaceQualifiedId    = namespaceQualifiedId;
     FormattedName           = className.ToCapitalCase();
     NamespaceEntity         = namespaceEntity;
     UsingRelativeNamespaces = new List <string>();
     Properties = new Dictionary <string, PropertyDefinition>();
     Functions  = new List <FunctionDefinition>();
     Events     = new List <EventDefinition>();
 }
Ejemplo n.º 2
0
        public ClassEntity RegisterClass(ClassEntityType type, string className, NamespaceEntity namespaceEntity)
        {
            var namespaceQualifiedId = namespaceEntity.GetNamespaceQualifiedId(className);

            if (Entities.Any(e => e.NamespaceQualifiedId.Equals(namespaceQualifiedId)))
            {
                throw new InvalidOperationException($"Class entity with id '{namespaceQualifiedId}' already exists.");
            }

            var entity = new ClassEntity(type, className, namespaceQualifiedId, namespaceEntity);

            Entities.Add(entity);

            return(entity);
        }