Retrieve Field Attribute List : Attributes « Reflection « C# / C Sharp






Retrieve Field Attribute List

      
#region Copyright (C) 2005 - 2009 Giacomo Stelluti Scala
//
// Command Line Library: ReflectionUtil.cs
//
// Author:
//   Giacomo Stelluti Scala (gsscoder@ymail.com)
//
// Copyright (C) 2005 - 2009 Giacomo Stelluti Scala
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#endregion

namespace CommandLine
{
    using System;
    using System.Collections.Generic;
    using System.Reflection;

    static class ReflectionUtil
    {

        public static IList<TAttribute> RetrieveFieldAttributeList<TAttribute>(object target)
                where TAttribute : Attribute
        {
            IList<TAttribute> list = new List<TAttribute>();
            FieldInfo[] info = target.GetType().GetFields();
            foreach (FieldInfo field in info)
            {
                if (!field.IsStatic && !field.IsInitOnly && !field.IsLiteral)
                {
                    Attribute attribute =
                        Attribute.GetCustomAttribute(field, typeof(TAttribute), false);
                    if (attribute != null)
                    {
                        list.Add((TAttribute)attribute);
                    }
                }
            }
            return list;
        }

    }
}

   
    
    
    
    
    
  








Related examples in the same category

1.Use GetCustomAttribute
2.Attributes:Reflecting on AttributesAttributes:Reflecting on Attributes
3.Displaying attributes for a class.
4.Specifies flags that describe the attributes of a field.Specifies flags that describe the attributes of a field.
5.Defines a company name custom attribute for an assembly manifest.
6.Defines a copyright custom attribute for an assembly manifest.
7.Represents the base class for custom attributes.
8.Retrieves a custom attribute applied to a specified assembly.
9.Retrieves a custom attribute applied to a member of a type.
10.Get a custom attribute applied to a member of a type.
11.Get an array of the custom attributes applied to an assembly. A parameter specifies the assembly.
12.Get an array of the custom attributes applied to a method parameter.
13.Attribute.IsDefaultAttribute
14.Attribute.IsDefined
15.Determines whether any custom attributes are applied to an assembly.
16.Determines whether any custom attributes are applied to a member of a type.
17.Determines whether any custom attributes of a specified type are applied to a module.
18.Determines whether any custom attributes are applied to a method parameter.
19.Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.
20.Get member attribute
21.Attributed Types Utility
22.Retrieve Method Attribute Only
23.Get Types With Attribute
24.Get Methods With Attribute
25.Get attribute value and convert to other type