Silverlight 5 WinRT

public abstract class BinaryOperationBinder public abstract class BinaryOperationBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public ExpressionType Operation { get; } public ExpressionType Operation { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg); public DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg);
public abstract virtual DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject errorSuggestion);

public abstract class BindingRestrictions public abstract class BindingRestrictions
static public BindingRestrictions Combine(IList`1<DynamicMetaObject> contributingObjects); static public BindingRestrictions Combine(IList`1<DynamicMetaObject> contributingObjects);
static public BindingRestrictions GetExpressionRestriction(Expression expression); static public BindingRestrictions GetExpressionRestriction(Expression expression);
static public BindingRestrictions GetInstanceRestriction(Expression expression, Object instance); static public BindingRestrictions GetInstanceRestriction(Expression expression, Object instance);
static public BindingRestrictions GetTypeRestriction(Expression expression, Type type); static public BindingRestrictions GetTypeRestriction(Expression expression, Type type);
public BindingRestrictions Merge(BindingRestrictions restrictions); public BindingRestrictions Merge(BindingRestrictions restrictions);
public Expression ToExpression(); public Expression ToExpression();

public sealed class CallInfo public sealed class CallInfo
public Int32 ArgumentCount { get; } public Int32 ArgumentCount { get; }
public ReadOnlyCollection`1<String> ArgumentNames { get; } public ReadOnlyCollection`1<String> ArgumentNames { get; }
public virtual Boolean Equals(Object obj); public virtual Boolean Equals(Object obj);
public virtual Int32 GetHashCode(); public virtual Int32 GetHashCode();

public abstract class ConvertBinder public abstract class ConvertBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public Boolean Explicit { get; } public Boolean Explicit { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public Type Type { get; } public Type Type { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackConvert(DynamicMetaObject target); public DynamicMetaObject FallbackConvert(DynamicMetaObject target);
public abstract virtual DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion);

public abstract class CreateInstanceBinder public abstract class CreateInstanceBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject args); public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject args);
public abstract virtual DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion);

public abstract class DeleteIndexBinder public abstract class DeleteIndexBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject indexes); public DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject indexes);
public abstract virtual DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject errorSuggestion);

public abstract class DeleteMemberBinder public abstract class DeleteMemberBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public Boolean IgnoreCase { get; } public Boolean IgnoreCase { get; }
public String Name { get; } public String Name { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target); public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target);
public abstract virtual DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);

public class DynamicMetaObject public class DynamicMetaObject
public Expression Expression { get; } public Expression Expression { get; }
public Boolean HasValue { get; } public Boolean HasValue { get; }
public Type LimitType { get; } public Type LimitType { get; }
public BindingRestrictions Restrictions { get; } public BindingRestrictions Restrictions { get; }
public Type RuntimeType { get; } public Type RuntimeType { get; }
public Object Value { get; } public Object Value { get; }
public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg); public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg);
public virtual DynamicMetaObject BindConvert(ConvertBinder binder); public virtual DynamicMetaObject BindConvert(ConvertBinder binder);
public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject args); public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject args);
public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject indexes); public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject indexes);
public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder); public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder);
public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject indexes); public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject indexes);
public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder); public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder);
public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject args); public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject args);
public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject args); public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject args);
public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject indexes, DynamicMetaObject value); public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject indexes, DynamicMetaObject value);
public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value); public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value);
public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder); public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder);
static public DynamicMetaObject Create(Object value, Expression expression); static public DynamicMetaObject Create(Object value, Expression expression);
public virtual IEnumerable`1<String> GetDynamicMemberNames(); public virtual IEnumerable`1<String> GetDynamicMemberNames();

public abstract class DynamicMetaObjectBinder public abstract class DynamicMetaObjectBinder
: CallSiteBinder : CallSiteBinder
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual Expression Bind(Object args, ReadOnlyCollection`1<ParameterExpression> parameters, LabelTarget returnLabel); public virtual Expression Bind(Object args, ReadOnlyCollection`1<ParameterExpression> parameters, LabelTarget returnLabel);
public abstract virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public abstract virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject Defer(DynamicMetaObject target, DynamicMetaObject args); public DynamicMetaObject Defer(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject Defer(DynamicMetaObject args); public DynamicMetaObject Defer(DynamicMetaObject args);
public Expression GetUpdateExpression(Type type); public Expression GetUpdateExpression(Type type);

public class DynamicObject public class DynamicObject
: IDynamicMetaObjectProvider : IDynamicMetaObjectProvider
public virtual IEnumerable`1<String> GetDynamicMemberNames(); public virtual IEnumerable`1<String> GetDynamicMemberNames();
public virtual DynamicMetaObject GetMetaObject(Expression parameter); public virtual DynamicMetaObject GetMetaObject(Expression parameter);
public virtual Boolean TryBinaryOperation(BinaryOperationBinder binder, Object arg, out Object& result); public virtual Boolean TryBinaryOperation(BinaryOperationBinder binder, Object arg, out Object& result);
public virtual Boolean TryConvert(ConvertBinder binder, out Object& result); public virtual Boolean TryConvert(ConvertBinder binder, out Object& result);
public virtual Boolean TryCreateInstance(CreateInstanceBinder binder, Object args, out Object& result); public virtual Boolean TryCreateInstance(CreateInstanceBinder binder, Object args, out Object& result);
public virtual Boolean TryDeleteIndex(DeleteIndexBinder binder, Object indexes); public virtual Boolean TryDeleteIndex(DeleteIndexBinder binder, Object indexes);
public virtual Boolean TryDeleteMember(DeleteMemberBinder binder); public virtual Boolean TryDeleteMember(DeleteMemberBinder binder);
public virtual Boolean TryGetIndex(GetIndexBinder binder, Object indexes, out Object& result); public virtual Boolean TryGetIndex(GetIndexBinder binder, Object indexes, out Object& result);
public virtual Boolean TryGetMember(GetMemberBinder binder, out Object& result); public virtual Boolean TryGetMember(GetMemberBinder binder, out Object& result);
public virtual Boolean TryInvoke(InvokeBinder binder, Object args, out Object& result); public virtual Boolean TryInvoke(InvokeBinder binder, Object args, out Object& result);
public virtual Boolean TryInvokeMember(InvokeMemberBinder binder, Object args, out Object& result); public virtual Boolean TryInvokeMember(InvokeMemberBinder binder, Object args, out Object& result);
public virtual Boolean TrySetIndex(SetIndexBinder binder, Object indexes, Object value); public virtual Boolean TrySetIndex(SetIndexBinder binder, Object indexes, Object value);
public virtual Boolean TrySetMember(SetMemberBinder binder, Object value); public virtual Boolean TrySetMember(SetMemberBinder binder, Object value);
public virtual Boolean TryUnaryOperation(UnaryOperationBinder binder, out Object& result); public virtual Boolean TryUnaryOperation(UnaryOperationBinder binder, out Object& result);

public sealed class ExpandoObject public sealed class ExpandoObject
: IDynamicMetaObjectProvider, IDictionary`2<String, Object>, ICollection`1<KeyValuePair`2<String, Object>>, IEnumerable`1<KeyValuePair`2<String, Object>>, IEnumerable, INotifyPropertyChanged : IDynamicMetaObjectProvider, IDictionary`2<String, Object>, ICollection`1<KeyValuePair`2<String, Object>>, IEnumerable`1<KeyValuePair`2<String, Object>>, IEnumerable, INotifyPropertyChanged

public abstract class GetIndexBinder public abstract class GetIndexBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject indexes); public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject indexes);
public abstract virtual DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject errorSuggestion);

public abstract class GetMemberBinder public abstract class GetMemberBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public Boolean IgnoreCase { get; } public Boolean IgnoreCase { get; }
public String Name { get; } public String Name { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackGetMember(DynamicMetaObject target); public DynamicMetaObject FallbackGetMember(DynamicMetaObject target);
public abstract virtual DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);

public abstract interface IDynamicMetaObjectProvider public abstract interface IDynamicMetaObjectProvider
public abstract virtual DynamicMetaObject GetMetaObject(Expression parameter); public abstract virtual DynamicMetaObject GetMetaObject(Expression parameter);

public abstract interface IInvokeOnGetBinder public abstract interface IInvokeOnGetBinder
public abstract virtual Boolean InvokeOnGet { get; } public abstract virtual Boolean InvokeOnGet { get; }

public abstract class InvokeBinder public abstract class InvokeBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args); public DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args);
public abstract virtual DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion);

public abstract class InvokeMemberBinder public abstract class InvokeMemberBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public Boolean IgnoreCase { get; } public Boolean IgnoreCase { get; }
public String Name { get; } public String Name { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public abstract virtual DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion);
public DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject args); public DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject args);
public abstract virtual DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject args, DynamicMetaObject errorSuggestion);

public abstract class SetIndexBinder public abstract class SetIndexBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public CallInfo CallInfo { get; } public CallInfo CallInfo { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject value); public DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject value);
public abstract virtual DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion);

public abstract class SetMemberBinder public abstract class SetMemberBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public Boolean IgnoreCase { get; } public Boolean IgnoreCase { get; }
public String Name { get; } public String Name { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value); public DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value);
public abstract virtual DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion);

public abstract class UnaryOperationBinder public abstract class UnaryOperationBinder
: DynamicMetaObjectBinder : DynamicMetaObjectBinder
public ExpressionType Operation { get; } public ExpressionType Operation { get; }
public virtual Type ReturnType { get; } public virtual Type ReturnType { get; }
public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args); public virtual DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject args);
public DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target); public DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target);
public abstract virtual DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject errorSuggestion); public abstract virtual DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject errorSuggestion);