Beispiel #1
0
        internal static string EntityLabel <T>(this T entity)
        {
            var entityType = entity.GetType();

            // http://stackoverflow.com/questions/157933
            lock (_syncRoot)
            {
                if (!EntityLabelCache.ContainsKey(entityType))
                {
                    var label = entityType.GetCustomAttributes(typeof(CypherLabelAttribute), true).FirstOrDefault() as CypherLabelAttribute;

                    try
                    {
                        EntityLabelCache.Add(entityType, label == null ? entityType.Name : label.Name);
                    }
                    catch (ArgumentException e)
                    {
                        var moreInfoException = new ArgumentException($"Failed to cache label '{label}' for type='{typeof(T).Name}'", e);
                        throw moreInfoException;
                    }
                }
            }

            var output = EntityLabelCache[entityType];

            return(output);
        }
 internal static void SetConfigLabel(Type type, string label)
 {
     if (EntityLabelCache.ContainsKey(type))
     {
         EntityLabelCache[type] = label;
     }
     else
     {
         EntityLabelCache.Add(type, label);
     }
 }
Beispiel #3
0
        internal static string EntityLabel <T>(this T entity)
        {
            var entityType = entity.GetType();

            if (!EntityLabelCache.ContainsKey(entityType))
            {
                var label = entityType.GetCustomAttributes(typeof(CypherLabelAttribute), true).FirstOrDefault() as CypherLabelAttribute;
                EntityLabelCache.Add(entityType, label == null ? entityType.Name : label.Name);
            }
            var output = EntityLabelCache[entityType];

            return(output);
        }