Silverlight 5 WinRT

  public sealed class Contact
  : __ComObject, IContact
  public virtual IList`1<IContactField> Fields { get; }
  public virtual String Name { get; set; }
  public virtual void SetThumbnail(StreamReference thumbnail);

  public sealed class ContactField
  : __ComObject, IContactField
  public virtual ContactFieldCategory Category { get; }
  public virtual String Name { get; }
  public virtual ContactFieldType Type { get; }
  public virtual String Value { get; }

  public sealed enum ContactFieldCategory
  : IComparable, IFormattable, IConvertible
  { None, Home, Work, Mobile, Other }

  public sealed class ContactFieldFactory
  : __ComObject, IContactFieldFactory, IContactLocationFieldFactory, IContactInstantMessageFieldFactory
  public virtual ContactField CreateField(String value, ContactFieldType type);
  public virtual ContactField CreateField(String value, ContactFieldType type, ContactFieldCategory category);
  public virtual ContactField CreateField(String name, String value, ContactFieldType type, ContactFieldCategory category);
  public virtual ContactInstantMessageField CreateInstantMessage(String username);
  public virtual ContactInstantMessageField CreateInstantMessage(String username, ContactFieldCategory category);
  public virtual ContactInstantMessageField CreateInstantMessage(String username, ContactFieldCategory category, String service, String displayText, Uri verb);
  public virtual ContactLocationField CreateLocation(String unstructuredAddress);
  public virtual ContactLocationField CreateLocation(String unstructuredAddress, ContactFieldCategory category);
  public virtual ContactLocationField CreateLocation(String unstructuredAddress, ContactFieldCategory category, String street, String city, String region, String country, String postalCode);

  public sealed enum ContactFieldType
  : IComparable, IFormattable, IConvertible
  { Email, PhoneNumber, Location, InstantMessage, Custom }

  public sealed class ContactInformation
  : __ComObject, IContactInformation
  public virtual IReadOnlyList`1<IContactField> CustomFields { get; }
  public virtual IReadOnlyList`1<IContactField> Emails { get; }
  public virtual IReadOnlyList`1<IContactInstantMessageField> InstantMessages { get; }
  public virtual IReadOnlyList`1<IContactLocationField> Locations { get; }
  public virtual String Name { get; }
  public virtual IReadOnlyList`1<IContactField> PhoneNumbers { get; }
  public virtual ContactInformationGetThumbnailOperation GetThumbnailAsync();
  public virtual IReadOnlyList`1<IContactField> QueryCustomFields(String customName);

  public sealed class ContactInformationGetThumbnailOperation
  : __ComObject, IAsyncOperation`1<ImageResource>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<ImageResource> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual ImageResource GetResults();
  public virtual void Start();

  public sealed class ContactInstantMessageField
  : __ComObject, IContactInstantMessageField, IContactField
  public virtual ContactFieldCategory Category { get; }
  public virtual String DisplayText { get; }
  public virtual Uri LaunchUri { get; }
  public virtual String Name { get; }
  public virtual String Service { get; }
  public virtual ContactFieldType Type { get; }
  public virtual String UserName { get; }
  public virtual String Value { get; }

  public sealed class ContactLocationField
  : __ComObject, IContactLocationField, IContactField
  public virtual ContactFieldCategory Category { get; }
  public virtual String City { get; }
  public virtual String Country { get; }
  public virtual String Name { get; }
  public virtual String PostalCode { get; }
  public virtual String Region { get; }
  public virtual String Street { get; }
  public virtual ContactFieldType Type { get; }
  public virtual String UnstructuredAddress { get; }
  public virtual String Value { get; }

  public sealed class ContactPicker
  : __ComObject, IContactPicker
  public virtual String CommitButtonText { get; set; }
  public virtual IList`1<String> DesiredFields { get; }
  public virtual ContactSelectionMode SelectionMode { get; set; }
  public virtual PickMultipleContactsOperation PickMultipleContactsAsync();
  public virtual PickSingleContactOperation PickSingleContactAsync();

  public sealed enum ContactSelectionMode
  : IComparable, IFormattable, IConvertible
  { Contacts, Fields }

  public abstract interface IContactField
 
  public abstract virtual ContactFieldCategory Category { get; }
  public abstract virtual String Name { get; }
  public abstract virtual ContactFieldType Type { get; }
  public abstract virtual String Value { get; }

  public abstract interface IContactFieldFactory
 
  public abstract virtual ContactField CreateField(String value, ContactFieldType type);
  public abstract virtual ContactField CreateField(String value, ContactFieldType type, ContactFieldCategory category);
  public abstract virtual ContactField CreateField(String name, String value, ContactFieldType type, ContactFieldCategory category);

  public abstract interface IContactInstantMessageField
  : IContactField
  public abstract virtual String DisplayText { get; }
  public abstract virtual Uri LaunchUri { get; }
  public abstract virtual String Service { get; }
  public abstract virtual String UserName { get; }

  public abstract interface IContactInstantMessageFieldFactory
 
  public abstract virtual ContactInstantMessageField CreateInstantMessage(String username);
  public abstract virtual ContactInstantMessageField CreateInstantMessage(String username, ContactFieldCategory category);
  public abstract virtual ContactInstantMessageField CreateInstantMessage(String username, ContactFieldCategory category, String service, String displayText, Uri verb);

  public abstract interface IContactLocationField
  : IContactField
  public abstract virtual String City { get; }
  public abstract virtual String Country { get; }
  public abstract virtual String PostalCode { get; }
  public abstract virtual String Region { get; }
  public abstract virtual String Street { get; }
  public abstract virtual String UnstructuredAddress { get; }

  public abstract interface IContactLocationFieldFactory
 
  public abstract virtual ContactLocationField CreateLocation(String unstructuredAddress);
  public abstract virtual ContactLocationField CreateLocation(String unstructuredAddress, ContactFieldCategory category);
  public abstract virtual ContactLocationField CreateLocation(String unstructuredAddress, ContactFieldCategory category, String street, String city, String region, String country, String postalCode);

  public abstract sealed class KnownContactField
  : __ComObject
  static public String Email { get; }
  static public String InstantMessage { get; }
  static public String Location { get; }
  static public String PhoneNumber { get; }
  static public ContactFieldType ConvertNameToType(String name);
  static public String ConvertTypeToName(ContactFieldType type);

  public sealed class PickMultipleContactsOperation
  : __ComObject, IAsyncOperation`1<IReadOnlyList`1<IContactInformation>>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<IReadOnlyList`1<IContactInformation>> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual IReadOnlyList`1<IContactInformation> GetResults();
  public virtual void Start();

  public sealed class PickSingleContactOperation
  : __ComObject, IAsyncOperation`1<ContactInformation>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<ContactInformation> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual ContactInformation GetResults();
  public virtual void Start();

  public sealed class SelectedContactsArray
  : __ComObject, IReadOnlyList`1<IContactInformation>, IEnumerable`1<IContactInformation>, IEnumerable