Silverlight 5 WinRT

  public class AsyncResult
  : IAsyncResult, IMessageSink
  public virtual Object AsyncDelegate { get; }
  public virtual Object AsyncState { get; }
  public virtual WaitHandle AsyncWaitHandle { get; }
  public virtual Boolean CompletedSynchronously { get; }
  public Boolean EndInvokeCalled { get; set; }
  public virtual Boolean IsCompleted { get; }
  public virtual IMessageSink NextSink { get; }
  public virtual IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink);
  public virtual IMessage GetReplyMessage();
  public virtual void SetMessageCtrl(IMessageCtrl mc);
  public virtual IMessage SyncProcessMessage(IMessage msg);

  public sealed class CallContext
 
  static public Object HostContext { get; set; }
  static public void FreeNamedDataSlot(String name);
  static public Object GetData(String name);
  static public Header GetHeaders();
  static public Object LogicalGetData(String name);
  static public void LogicalSetData(String name, Object data);
  static public void SetData(String name, Object data);
  static public void SetHeaders(Header headers);

  public class ConstructionCall
  : MethodCall, IMethodCallMessage, IMethodMessage, IMessage, ISerializable, IInternalMessage, ISerializationRootObject, IConstructionCallMessage
  public virtual Type ActivationType { get; }
  public virtual String ActivationTypeName { get; }
  public virtual IActivator Activator { get; set; }
  public virtual Object CallSiteActivationAttributes { get; }
  public virtual IList ContextProperties { get; }
  public virtual IDictionary Properties { get; }

  public class ConstructionResponse
  : MethodResponse, IMethodReturnMessage, IMethodMessage, IMessage, ISerializable, ISerializationRootObject, IInternalMessage, IConstructionReturnMessage
  public virtual IDictionary Properties { get; }

  public class Header
 

  public sealed class HeaderHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual IAsyncResult BeginInvoke(Header headers, AsyncCallback callback, Object object);
  public virtual Object EndInvoke(IAsyncResult result);
  public virtual Object Invoke(Header headers);

  public abstract interface ILogicalThreadAffinative
 

  public abstract interface IMessage
 
  public abstract virtual IDictionary Properties { get; }

  public abstract interface IMessageCtrl
 
  public abstract virtual void Cancel(Int32 msToCancel);

  public abstract interface IMessageSink
 
  public abstract virtual IMessageSink NextSink { get; }
  public abstract virtual IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink);
  public abstract virtual IMessage SyncProcessMessage(IMessage msg);

  public abstract interface IMethodCallMessage
  : IMethodMessage, IMessage
  public abstract virtual Int32 InArgCount { get; }
  public abstract virtual Object InArgs { get; }
  public abstract virtual Object GetInArg(Int32 argNum);
  public abstract virtual String GetInArgName(Int32 index);

  public abstract interface IMethodMessage
  : IMessage
  public abstract virtual Int32 ArgCount { get; }
  public abstract virtual Object Args { get; }
  public abstract virtual Boolean HasVarArgs { get; }
  public abstract virtual LogicalCallContext LogicalCallContext { get; }
  public abstract virtual MethodBase MethodBase { get; }
  public abstract virtual String MethodName { get; }
  public abstract virtual Object MethodSignature { get; }
  public abstract virtual String TypeName { get; }
  public abstract virtual String Uri { get; }
  public abstract virtual Object GetArg(Int32 argNum);
  public abstract virtual String GetArgName(Int32 index);

  public abstract interface IMethodReturnMessage
  : IMethodMessage, IMessage
  public abstract virtual Exception Exception { get; }
  public abstract virtual Int32 OutArgCount { get; }
  public abstract virtual Object OutArgs { get; }
  public abstract virtual Object ReturnValue { get; }
  public abstract virtual Object GetOutArg(Int32 argNum);
  public abstract virtual String GetOutArgName(Int32 index);

  public class InternalMessageWrapper
 

  public abstract interface IRemotingFormatter
  : IFormatter
  public abstract virtual Object Deserialize(Stream serializationStream, HeaderHandler handler);
  public abstract virtual void Serialize(Stream serializationStream, Object graph, Header headers);

  public sealed class LogicalCallContext
  : ISerializable, ICloneable
  public Boolean HasInfo { get; }
  public virtual Object Clone();
  public void FreeNamedDataSlot(String name);
  public Object GetData(String name);
  public virtual void GetObjectData(SerializationInfo info, StreamingContext context);
  public void SetData(String name, Object data);

  public sealed class MessageSurrogateFilter
  : MulticastDelegate, ICloneable, ISerializable
  public virtual IAsyncResult BeginInvoke(String key, Object value, AsyncCallback callback, Object object);
  public virtual Boolean EndInvoke(IAsyncResult result);
  public virtual Boolean Invoke(String key, Object value);

  public class MethodCall
  : IMethodCallMessage, IMethodMessage, IMessage, ISerializable, IInternalMessage, ISerializationRootObject
  public virtual Int32 ArgCount { get; }
  public virtual Object Args { get; }
  public virtual Boolean HasVarArgs { get; }
  public virtual Int32 InArgCount { get; }
  public virtual Object InArgs { get; }
  public virtual LogicalCallContext LogicalCallContext { get; }
  public virtual MethodBase MethodBase { get; }
  public virtual String MethodName { get; }
  public virtual Object MethodSignature { get; }
  public virtual IDictionary Properties { get; }
  public virtual String TypeName { get; }
  public virtual String Uri { get; set; }
  public virtual Object GetArg(Int32 argNum);
  public virtual String GetArgName(Int32 index);
  public virtual Object GetInArg(Int32 argNum);
  public virtual String GetInArgName(Int32 index);
  public virtual void GetObjectData(SerializationInfo info, StreamingContext context);
  public virtual Object HeaderHandler(Header h);
  public virtual void Init();
  public void ResolveMethod();
  public virtual void RootSetObjectData(SerializationInfo info, StreamingContext ctx);

  public class MethodCallMessageWrapper
  : InternalMessageWrapper, IMethodCallMessage, IMethodMessage, IMessage
  public virtual Int32 ArgCount { get; }
  public virtual Object Args { get; set; }
  public virtual Boolean HasVarArgs { get; }
  public virtual Int32 InArgCount { get; }
  public virtual Object InArgs { get; }
  public virtual LogicalCallContext LogicalCallContext { get; }
  public virtual MethodBase MethodBase { get; }
  public virtual String MethodName { get; }
  public virtual Object MethodSignature { get; }
  public virtual IDictionary Properties { get; }
  public virtual String TypeName { get; }
  public virtual String Uri { get; set; }
  public virtual Object GetArg(Int32 argNum);
  public virtual String GetArgName(Int32 index);
  public virtual Object GetInArg(Int32 argNum);
  public virtual String GetInArgName(Int32 index);

  public class MethodResponse
  : IMethodReturnMessage, IMethodMessage, IMessage, ISerializable, ISerializationRootObject, IInternalMessage
  public virtual Int32 ArgCount { get; }
  public virtual Object Args { get; }
  public virtual Exception Exception { get; }
  public virtual Boolean HasVarArgs { get; }
  public virtual LogicalCallContext LogicalCallContext { get; }
  public virtual MethodBase MethodBase { get; }
  public virtual String MethodName { get; }
  public virtual Object MethodSignature { get; }
  public virtual Int32 OutArgCount { get; }
  public virtual Object OutArgs { get; }
  public virtual IDictionary Properties { get; }
  public virtual Object ReturnValue { get; }
  public virtual String TypeName { get; }
  public virtual String Uri { get; set; }
  public virtual Object GetArg(Int32 argNum);
  public virtual String GetArgName(Int32 index);
  public virtual void GetObjectData(SerializationInfo info, StreamingContext context);
  public virtual Object GetOutArg(Int32 argNum);
  public virtual String GetOutArgName(Int32 index);
  public virtual Object HeaderHandler(Header h);
  public virtual void RootSetObjectData(SerializationInfo info, StreamingContext ctx);

  public class MethodReturnMessageWrapper
  : InternalMessageWrapper, IMethodReturnMessage, IMethodMessage, IMessage
  public virtual Int32 ArgCount { get; }
  public virtual Object Args { get; set; }
  public virtual Exception Exception { get; set; }
  public virtual Boolean HasVarArgs { get; }
  public virtual LogicalCallContext LogicalCallContext { get; }
  public virtual MethodBase MethodBase { get; }
  public virtual String MethodName { get; }
  public virtual Object MethodSignature { get; }
  public virtual Int32 OutArgCount { get; }
  public virtual Object OutArgs { get; }
  public virtual IDictionary Properties { get; }
  public virtual Object ReturnValue { get; set; }
  public virtual String TypeName { get; }
  public virtual String Uri { get; set; }
  public virtual Object GetArg(Int32 argNum);
  public virtual String GetArgName(Int32 index);
  public virtual Object GetOutArg(Int32 argNum);
  public virtual String GetOutArgName(Int32 index);

  public class OneWayAttribute
  : Attribute, _Attribute

  public class RemotingSurrogateSelector
  : ISurrogateSelector
  public MessageSurrogateFilter Filter { get; set; }
  public virtual void ChainSelector(ISurrogateSelector selector);
  public virtual ISurrogateSelector GetNextSelector();
  public Object GetRootObject();
  public virtual ISerializationSurrogate GetSurrogate(Type type, StreamingContext context, out ISurrogateSelector& ssout);
  public void SetRootObject(Object obj);
  public virtual void UseSoapFormat();

  public class ReturnMessage
  : IMethodReturnMessage, IMethodMessage, IMessage
  public virtual Int32 ArgCount { get; }
  public virtual Object Args { get; }
  public virtual Exception Exception { get; }
  public virtual Boolean HasVarArgs { get; }
  public virtual LogicalCallContext LogicalCallContext { get; }
  public virtual MethodBase MethodBase { get; }
  public virtual String MethodName { get; }
  public virtual Object MethodSignature { get; }
  public virtual Int32 OutArgCount { get; }
  public virtual Object OutArgs { get; }
  public virtual IDictionary Properties { get; }
  public virtual Object ReturnValue { get; }
  public virtual String TypeName { get; }
  public virtual String Uri { get; set; }
  public virtual Object GetArg(Int32 argNum);
  public virtual String GetArgName(Int32 index);
  public virtual Object GetOutArg(Int32 argNum);
  public virtual String GetOutArgName(Int32 index);

  class MessageSmuggler
 
  public Int32 Index { get; }