Пример #1
0
 public static SecurityPermission GetSecurityPermission <TAttribute>(this IAttributeProvider parent)
     where TAttribute : SecurityAttribute =>
 !parent.HasAttribute <TAttribute>()
     ? new SecurityPermission()
 : new SecurityPermission(
     level : parent.GetAttributeValue <TAttribute, SecurityPermissionLevels>(a => a.PermissionLevel) ?? SecurityPermissionLevels.AllowAuthorized,
     roles : parent.GetAttributeValue <TAttribute>(a => a.Roles),
     name : typeof(TAttribute).Name.Replace("Attribute", string.Empty)
     );
Пример #2
0
        public static T?GetAttributeValue <TAttribute, T>(this IAttributeProvider obj, string valueName)
            where TAttribute : Attribute
            where T : struct
        {
            var result = obj.GetAttributeValue <TAttribute>(valueName);

            if (result == null)
            {
                return(null);
            }
            return(new T?((T)result));
        }
Пример #3
0
        public static TypeViewModel GetAttributeValue <TAttribute>(this IAttributeProvider obj, Expression <Func <TAttribute, Type> > propertyExpression)
            where TAttribute : Attribute
        {
            var value = obj.GetAttributeValue <TAttribute>(propertyExpression.GetExpressedProperty().Name);

            if (value is Type reflectionValue)
            {
                return(new ReflectionTypeViewModel(reflectionValue));
            }
            if (value is ITypeSymbol symbolValue)
            {
                return(new SymbolTypeViewModel(symbolValue));
            }
            return(null);
        }
        public T Attr <T>(string name)
        {
            Control            control  = Results.First();
            IAttributeProvider provider = wfQueryContext.DefaultAttributeProvider;
            T value = default(T);

            if (provider.HasAttributeValue(control, name))
            {
                value = provider.GetAttributeValue <T>(control, name);
            }
            else
            {
                value = GetPropertyValue <T>(control, name);
            }
            return(value);
        }
Пример #5
0
 public static string GetAttributeValue <TAttribute>(this IAttributeProvider obj, Expression <Func <TAttribute, string> > propertyExpression)
     where TAttribute : Attribute
 {
     return(obj.GetAttributeValue <TAttribute>(propertyExpression.GetExpressedProperty().Name) as string);
 }
Пример #6
0
 public static T?GetAttributeValue <TAttribute, T>(this IAttributeProvider obj, Expression <Func <TAttribute, T> > propertyExpression)
     where TAttribute : Attribute
     where T : struct
 {
     return(obj.GetAttributeValue <TAttribute, T>(propertyExpression.GetExpressedProperty().Name));
 }