using System;
using System.Reflection;
namespace System.Runtime.InteropServices.Expando
{
/// Enables modification of objects by adding and removing members, represented by objects.
// Token: 0x020002EB RID: 747
[Guid("afbf15e6-c37c-11d2-b88e-00a0c9b471b8")]
[ComVisible(true)]
public interface IExpando : IReflect
{
/// Adds the named field to the Reflection object.
/// A object representing the added field.
/// The name of the field.
/// The IExpando object does not support this method.
// Token: 0x060021AF RID: 8623
FieldInfo AddField(string name);
/// Adds the named method to the Reflection object.
/// A MethodInfo object representing the added method.
/// The name of the method.
/// The delegate to the method.
/// The IExpando object does not support this method.
// Token: 0x060021B0 RID: 8624
MethodInfo AddMethod(string name, Delegate method);
/// Adds the named property to the Reflection object.
/// A PropertyInfo object representing the added property.
/// The name of the property.
/// The IExpando object does not support this method.
// Token: 0x060021B1 RID: 8625
PropertyInfo AddProperty(string name);
/// Removes the specified member.
/// The member to remove.
/// The IExpando object does not support this method.
// Token: 0x060021B2 RID: 8626
void RemoveMember(MemberInfo m);
}
}