1 // ==++==
2 //
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 //
5 // ==--==
6 /*==========================================================================
7 **
8 ** Interface:  IReflect
9 **
10 **
11 ** Purpose:
12 ** This interface is redefined here since the original IReflect interface
13 ** has all its methods marked as ecall's since it is a managed standard
14 ** interface. This interface is used from within the runtime to make a call
15 ** on the COM server directly when it implements the IReflect interface.
16 **
17 **
18 ==========================================================================*/
19 #if !MOBILE
20 namespace System.Runtime.InteropServices.ComTypes
21 {
22     using System;
23     using System.Reflection;
24     using CultureInfo = System.Globalization.CultureInfo;
25 
26     [Guid("AFBF15E5-C37C-11d2-B88E-00A0C9B471B8")]
27     internal interface IReflect
28     {
GetMethod(String name,BindingFlags bindingAttr,Binder binder, Type[] types,ParameterModifier[] modifiers)29         MethodInfo GetMethod(String name,BindingFlags bindingAttr,Binder binder,
30                 Type[] types,ParameterModifier[] modifiers);
31 
GetMethod(String name,BindingFlags bindingAttr)32         MethodInfo GetMethod(String name,BindingFlags bindingAttr);
33 
GetMethods( BindingFlags bindingAttr)34         MethodInfo[] GetMethods(
35                 BindingFlags bindingAttr);
36 
GetField( String name, BindingFlags bindingAttr)37         FieldInfo GetField(
38                 String name,
39                 BindingFlags bindingAttr);
40 
GetFields( BindingFlags bindingAttr)41         FieldInfo[] GetFields(
42                 BindingFlags bindingAttr);
43 
GetProperty( String name, BindingFlags bindingAttr)44         PropertyInfo GetProperty(
45                 String name,
46                 BindingFlags bindingAttr);
47 
GetProperty( String name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers)48         PropertyInfo GetProperty(
49                 String name,
50                 BindingFlags bindingAttr,
51                 Binder binder,
52                 Type returnType,
53                 Type[] types,
54                 ParameterModifier[] modifiers);
55 
GetProperties( BindingFlags bindingAttr)56         PropertyInfo[] GetProperties(
57                 BindingFlags bindingAttr);
58 
GetMember( String name, BindingFlags bindingAttr)59         MemberInfo[] GetMember(
60                 String name,
61                 BindingFlags bindingAttr);
62 
GetMembers( BindingFlags bindingAttr)63         MemberInfo[] GetMembers(
64                 BindingFlags bindingAttr);
65 
InvokeMember( String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)66         Object InvokeMember(
67                 String name,
68                 BindingFlags invokeAttr,
69                 Binder binder,
70                 Object target,
71                 Object[] args,
72                 ParameterModifier[] modifiers,
73                 CultureInfo culture,
74                 String[] namedParameters);
75 
76         Type UnderlyingSystemType
77         {
78             get;
79         }
80     }
81 }
82 #endif