Ejemplo n.º 1
0
        private void ReadJankyAttributes()
        {
            _tags       = NodeType.GetCustomAttributes <JankyTagAttribute>(false).ToDictionary(a => a.Name);
            _properties = NodeType.GetCustomAttributes <JankyPropertyAttribute>(true).ToDictionary(a => a.Name);
            var defaultOverrides = NodeType.GetCustomAttributes <JankyDefaultOverrideAttribute>(false);

            foreach (var def in defaultOverrides)
            {
                if (_properties.TryGetValue(def.Property, out var prop))
                {
                    prop.DefaultValue = def.Value;
                }
                else
                {
                    throw new Exception("Unknown Property to Override: " + def.Property);
                }
            }
        }