1 // ==++==
2 //
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 //
5 // ==--==
6 ////////////////////////////////////////////////////////////////////////////////
7 ////////////////////////////////////////////////////////////////////////////////
8 //
9 // ICustomAttributeProvider is an interface that is implemented by reflection
10 //
11 // <OWNER>WESU</OWNER>
12 //    objects which support custom attributes.
13 //
14 // <EMAIL>Author: darylo & Rajesh Chandrashekaran (rajeshc)</EMAIL>
15 // Date: July 99
16 //
17 namespace System.Reflection {
18 
19     using System;
20 
21     // Interface does not need to be marked with the serializable attribute
22 [System.Runtime.InteropServices.ComVisible(true)]
23     public interface ICustomAttributeProvider
24     {
25 
26         // Return an array of custom attributes identified by Type
GetCustomAttributes(Type attributeType, bool inherit)27         Object[] GetCustomAttributes(Type attributeType, bool inherit);
28 
29 
30         // Return an array of all of the custom attributes (named attributes are not included)
GetCustomAttributes(bool inherit)31         Object[] GetCustomAttributes(bool inherit);
32 
33 
34         // Returns true if one or more instance of attributeType is defined on this member.
IsDefined(Type attributeType, bool inherit)35         bool IsDefined (Type attributeType, bool inherit);
36 
37     }
38 }
39