Contact Contact Contact Contact Class

Represents a contact.

Syntax

Declaration

public sealed class Contactpublic sealed class ContactPublic NotInheritable Class Contact

Remarks

No matter how you store contact information in your app, you must be able to put that information into a Contact object. This way, other apps that allow users to select contacts can use your app and process the contact information it provides.

For info about how to manage contacts, see Managing contact cards and Managing contact cards .

Examples

This code shows how your app can take an app-specific contact object and use it to create a Contact object. First, here's an example of an object that contains contact information.

    var sampleContacts = [
        {
            firstName: "Kim",
            lastName: "Abercrombie",
            image: "KimAbercrombie.jpg",
            personalEmail: "kim@contoso.com",
            homePhone: "921 555-0187",
            address: {
                full: "123 Main St, Redmond WA, 23456",
                street: "123 Main St",
                city: "Redmond",
                state: "WA",
                zipCode: "23456"
            },
            id: "49b0652e-8f39-48c5-853b-e5e94e6b8a11"
        }
];
function createContactForBasket(sampleContact) {

    // Transfer contact data to a Contact object
    var contact = new Windows.ApplicationModel.Contacts.Contact();
    contact.firstName = sampleContact.firstName;
    contact.lastName = sampleContact.lastName;
    contact.id = sampleContact.id;

    // Add the personal email address to the Contact object’s emails vector
    var personalEmail = new Windows.ApplicationModel.Contacts.ContactEmail();
    personalEmail.address = sampleContact.personalEmail;
    personalEmail.kind = Windows.ApplicationModel.Contacts.ContactEmailKind.personal;
    contact.emails.append(personalEmail);

    // Adds the home phone number to the Contact object’s phones vector
    var homePhone = new Windows.ApplicationModel.Contacts.ContactPhone();
    homePhone.number = sampleContact.homePhone;
    homePhone.kind = Windows.ApplicationModel.Contacts.ContactPhoneKind.home;
    contact.phones.append(homePhone);

    // Adds the address to the Contact object’s addresses vector
    var homeAddress = new Windows.ApplicationModel.Contacts.ContactAddress();
    homeAddress.streetAddress = sampleContact.address.street;
    homeAddress.locality = sampleContact.address.city;
    homeAddress.region = sampleContact.address.state;
    homeAddress.postalCode = sampleContact.address.zipCode;
    homeAddress.kind = Windows.ApplicationModel.Contacts.ContactAddressKind.home;
    contact.addresses.append(homeAddress);

    // Sets the thumbnail for the contact from path
    Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(sampleContact.image).then(
          function (imageFile) {
                 var streamReference = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(imageFile);
                 contact.thumbnail = randomAccessStreamReference;
          });

    return contact;
}

Constructors summary

Creates a new instance of the Contact class.

Properties summary

Gets the contact addresses for a contact.

If this is a raw contact that is part of an aggregate contact, then this property identifies the parent aggregate.

Gets the connected service accounts for a contact.

Gets a string that identifies the ContactList to which this contact is a member.

Gets the data suppliers for a contact. The maximum string length for each data supplier is 50 characters.

Gets the display name for a contact.

Note

You can only access this property from a UI thread.

Gets or sets the display that was manually entered by the user.

Gets or sets the last time the user updated their display picture.

Gets the email addresses for a contact.

Note

Fields may be altered or unavailable for releases after Windows 8.1. Instead, use Phones, Emails, Addresses, or ConnectedServiceAccounts.

Sets the fields that contain information about a contact.

Gets and sets the first name for a contact. The maximum string length for the first name is 64 characters.

Gets the full name of the Contact.

Gets and sets the honorific prefix for the name for a contact. The maximum string length for the honorific prefix is 32 characters.

Gets and sets the honorific suffix for the name for a contact. The maximum string length for the honorific suffix is 32 characters.

Gets and sets the identifier for a contact. The maximum string length for the identifier is 256 characters.

Note

The Id property must be set when you call AddContact(Windows.ApplicationModel.Contacts.Contact), ContainsContact(System.String), or RemoveContact(System.String). If Id isn't set when you call AddContact(Windows.ApplicationModel.Contacts.Contact), your app will fail. If Id isn't set when you call ContainsContact(System.String) or RemoveContact(System.String), your app won't be able to find or remove the contact.

Gets the important dates for a contact.

Gets a Boolean value indicating of this is an aggregate Contact.

Gets a Boolean value indicating if the user manually set the picture for the Contact.

Gets a Boolean value indicating if this Contact represents the user logged into the device.

Gets the job info items for a contact.

Gets a large version of the display picture for the Contact.

Gets and sets the last name for a contact. The maximum string length for the last name is 64 characters.

Gets and sets the middle name for a contact. The maximum string length for the middle name is 64 characters.

Note

Name may be altered or unavailable for releases after Windows 8.1. Instead, use FirstName.

Sets and gets the name of the contact.

Gets or sets the nickname for the Contact.

Gets and sets notes for a contact. The maximum string length for notes is 4096 characters.

Gets info about the phones for a contact.

Gets the property set object for the contact.

Gets or sets an ID that can be used by a service provider to access the Contact in their remote system.

Gets or puts the path to the ringtone file for the Contact.

Gets the significant others for a contact.

Gets a small version of the display picture for the Contact.

Gets the name used to sort the contact.

Gets or sets the display picture for the Contact in its original size.

Gets or puts the path to the audio file to play when an SMS/MMS message is received from the Contact.

Gets or sets a thumbnail image that represents this contact.

Gets the Web sites for a contact.

Gets the Yomi (phonetic Japanese equivalent) display name for a contact.

Gets the Yomi (phonetic Japanese equivalent) family name for a contact. The maximum string length for the Yomi family name is 120 characters.

Gets the Yomi (phonetic Japanese equivalent) given name for a contact. The maximum string length for the Yomi given name is 120 characters.

Constructors

  • Contact()
    Contact()
    Contact()
    Contact()

    Creates a new instance of the Contact class.

    public Contact()public Contact()Public Function Contact() As

Properties

  • Addresses
    Addresses
    Addresses
    Addresses

    Gets the contact addresses for a contact.

    public IVector<ContactAddress> Addresses { get; }public IVector<ContactAddress> Addresses { get; }Public ReadOnly Property Addresses As IVector<ContactAddress>

    Property Value

    • An array of contact addresses for a contact.

  • AggregateId
    AggregateId
    AggregateId
    AggregateId

    If this is a raw contact that is part of an aggregate contact, then this property identifies the parent aggregate.

    public string AggregateId { get; }public string AggregateId { get; }Public ReadOnly Property AggregateId As string

    Property Value

    • string
      string
      string
      string

      String value that identifies the parent aggregate contact.

  • ConnectedServiceAccounts
    ConnectedServiceAccounts
    ConnectedServiceAccounts
    ConnectedServiceAccounts

    Gets the connected service accounts for a contact.

    public IVector<ContactConnectedServiceAccount> ConnectedServiceAccounts { get; }public IVector<ContactConnectedServiceAccount> ConnectedServiceAccounts { get; }Public ReadOnly Property ConnectedServiceAccounts As IVector<ContactConnectedServiceAccount>

    Property Value

    • An array of connected service accounts for a contact.

  • ContactListId
    ContactListId
    ContactListId
    ContactListId

    Gets a string that identifies the ContactList to which this contact is a member.

    public string ContactListId { get; }public string ContactListId { get; }Public ReadOnly Property ContactListId As string

    Property Value

    • string
      string
      string
      string

      A string that identifies the ContactList to which this contact is a member.

  • DataSuppliers
    DataSuppliers
    DataSuppliers
    DataSuppliers

    Gets the data suppliers for a contact. The maximum string length for each data supplier is 50 characters.

    public IVector<string> DataSuppliers { get; }public IVector<string> DataSuppliers { get; }Public ReadOnly Property DataSuppliers As IVector<string>

    Property Value

    • An array of data suppliers for a contact.

  • DisplayName
    DisplayName
    DisplayName
    DisplayName

    Gets the display name for a contact.

    Note

    You can only access this property from a UI thread.

    public string DisplayName { get; }public string DisplayName { get; }Public ReadOnly Property DisplayName As string

    Property Value

    • string
      string
      string
      string

      The display name for a contact.

    Remarks

    Windows calculates the DisplayName property by using the values from the FirstName, MiddleName, and LastName properties if any are specified. If these values aren't available, Windows uses the Yomi (phonetic Japanese equivalent) name values (YomiGivenName and YomiFamilyName ). The calculation for DisplayName takes into account different locale hints such as script of the text in the names, resource context, and default user locale to determine the proper formatting template for the name.

  • DisplayNameOverride
    DisplayNameOverride
    DisplayNameOverride
    DisplayNameOverride

    Gets or sets the display that was manually entered by the user.

    public string DisplayNameOverride { get; set; }public string DisplayNameOverride { get; set; }Public ReadWrite Property DisplayNameOverride As string

    Property Value

    • string
      string
      string
      string

      The display that was manually entered by the user.

  • DisplayPictureUserUpdateTime
    DisplayPictureUserUpdateTime
    DisplayPictureUserUpdateTime
    DisplayPictureUserUpdateTime

    Gets or sets the last time the user updated their display picture.

    public DateTime DisplayPictureUserUpdateTime { get; set; }public DateTime DisplayPictureUserUpdateTime { get; set; }Public ReadWrite Property DisplayPictureUserUpdateTime As DateTime

    Property Value

  • Emails
    Emails
    Emails
    Emails

    Gets the email addresses for a contact.

    public IVector<ContactEmail> Emails { get; }public IVector<ContactEmail> Emails { get; }Public ReadOnly Property Emails As IVector<ContactEmail>

    Property Value

    • An array of email addresses for a contact.

  • Fields
    Fields
    Fields
    Fields
    Note

    Fields may be altered or unavailable for releases after Windows 8.1. Instead, use Phones, Emails, Addresses, or ConnectedServiceAccounts.

    Sets the fields that contain information about a contact.

    public IVector<IContactField> Fields { get; }public IVector<IContactField> Fields { get; }Public ReadOnly Property Fields As IVector<IContactField>

    Property Value

    • An array of fields containing information about a contact.

    Remarks

    The ContactFieldCategory and ContactFieldType classes provide information about what kind of information you can put into a field.

    Examples

    These functions show how you can add different fields to a Contact object.

    function appendField(fields, value, type, category) {
        if (value) {
            fields.append(new Windows.ApplicationModel.Contacts.ContactField(value, type, category));
        }
    }
    
    function appendEmail(fields, email, category) {
        // Adds a new email to the contact fields vector
        appendField(fields, email, Windows.ApplicationModel.Contacts.ContactFieldType.email, category);
    }
    
    function appendPhoneNumber(fields, phone, category) {
        // Adds a new phone number to the contact fields vector
        appendField(fields, phone, Windows.ApplicationModel.Contacts.ContactFieldType.phoneNumber, category);
    }
    
    function appendAddress(fields, address, category) {
        // Adds a new address to the contact fields vector
        if (address) {
            fields.append(new Windows.ApplicationModel.Contacts.ContactLocationField(
                            address.full, category, address.street, address.city, address.state, "", address.zipCode));
        }
    }
    
  • FirstName
    FirstName
    FirstName
    FirstName

    Gets and sets the first name for a contact. The maximum string length for the first name is 64 characters.

    public string FirstName { get; set; }public string FirstName { get; set; }Public ReadWrite Property FirstName As string

    Property Value

    • string
      string
      string
      string

      The first name for a contact.

  • FullName
    FullName
    FullName
    FullName

    Gets the full name of the Contact.

    public string FullName { get; }public string FullName { get; }Public ReadOnly Property FullName As string

    Property Value

    • string
      string
      string
      string

      The full name of the Contact.

  • HonorificNamePrefix
    HonorificNamePrefix
    HonorificNamePrefix
    HonorificNamePrefix

    Gets and sets the honorific prefix for the name for a contact. The maximum string length for the honorific prefix is 32 characters.

    public string HonorificNamePrefix { get; set; }public string HonorificNamePrefix { get; set; }Public ReadWrite Property HonorificNamePrefix As string

    Property Value

    • string
      string
      string
      string

      The honorific prefix for the name for a contact.

    Remarks

    Common name prefixes are Ms, Miss, Mrs, Mr, Dr, and so on.

  • HonorificNameSuffix
    HonorificNameSuffix
    HonorificNameSuffix
    HonorificNameSuffix

    Gets and sets the honorific suffix for the name for a contact. The maximum string length for the honorific suffix is 32 characters.

    public string HonorificNameSuffix { get; set; }public string HonorificNameSuffix { get; set; }Public ReadWrite Property HonorificNameSuffix As string

    Property Value

    • string
      string
      string
      string

      The honorific suffix for the name for a contact.

    Remarks

    A suffix follows the contact's name and provides additional info about the contact, like an academic degree (M.D. for medical doctor).

  • Id
    Id
    Id
    Id

    Gets and sets the identifier for a contact. The maximum string length for the identifier is 256 characters.

    Note

    The Id property must be set when you call AddContact(Windows.ApplicationModel.Contacts.Contact), ContainsContact(System.String), or RemoveContact(System.String). If Id isn't set when you call AddContact(Windows.ApplicationModel.Contacts.Contact), your app will fail. If Id isn't set when you call ContainsContact(System.String) or RemoveContact(System.String), your app won't be able to find or remove the contact.

    public string Id { get; set; }public string Id { get; set; }Public ReadWrite Property Id As string

    Property Value

    • string
      string
      string
      string

      The identifier for a contact.

  • ImportantDates
    ImportantDates
    ImportantDates
    ImportantDates

    Gets the important dates for a contact.

    public IVector<ContactDate> ImportantDates { get; }public IVector<ContactDate> ImportantDates { get; }Public ReadOnly Property ImportantDates As IVector<ContactDate>

    Property Value

    • An array of important dates for a contact.

  • IsAggregate
    IsAggregate
    IsAggregate
    IsAggregate

    Gets a Boolean value indicating of this is an aggregate Contact.

    public bool IsAggregate { get; }public bool IsAggregate { get; }Public ReadOnly Property IsAggregate As bool

    Property Value

    • bool
      bool
      bool
      bool

      Boolean value indicating of this is an aggregate Contact.

  • IsDisplayPictureManuallySet
    IsDisplayPictureManuallySet
    IsDisplayPictureManuallySet
    IsDisplayPictureManuallySet

    Gets a Boolean value indicating if the user manually set the picture for the Contact.

    public bool IsDisplayPictureManuallySet { get; }public bool IsDisplayPictureManuallySet { get; }Public ReadOnly Property IsDisplayPictureManuallySet As bool

    Property Value

    • bool
      bool
      bool
      bool

      True if the user manually set the picture, false if this is an aggregate contact and the picture was chosen from one of the raw child contacts.

  • IsMe
    IsMe
    IsMe
    IsMe

    Gets a Boolean value indicating if this Contact represents the user logged into the device.

    public bool IsMe { get; }public bool IsMe { get; }Public ReadOnly Property IsMe As bool

    Property Value

    • bool
      bool
      bool
      bool

      Boolean value indicating if this Contact represents the user logged into the device.

  • JobInfo
    JobInfo
    JobInfo
    JobInfo

    Gets the job info items for a contact.

    public IVector<ContactJobInfo> JobInfo { get; }public IVector<ContactJobInfo> JobInfo { get; }Public ReadOnly Property JobInfo As IVector<ContactJobInfo>

    Property Value

    • An array of job info items for a contact.

  • LargeDisplayPicture
    LargeDisplayPicture
    LargeDisplayPicture
    LargeDisplayPicture

    Gets a large version of the display picture for the Contact.

    public IRandomAccessStreamReference LargeDisplayPicture { get; }public IRandomAccessStreamReference LargeDisplayPicture { get; }Public ReadOnly Property LargeDisplayPicture As IRandomAccessStreamReference

    Property Value

  • LastName
    LastName
    LastName
    LastName

    Gets and sets the last name for a contact. The maximum string length for the last name is 64 characters.

    public string LastName { get; set; }public string LastName { get; set; }Public ReadWrite Property LastName As string

    Property Value

    • string
      string
      string
      string

      The last name for a contact.

  • MiddleName
    MiddleName
    MiddleName
    MiddleName

    Gets and sets the middle name for a contact. The maximum string length for the middle name is 64 characters.

    public string MiddleName { get; set; }public string MiddleName { get; set; }Public ReadWrite Property MiddleName As string

    Property Value

    • string
      string
      string
      string

      The middle name for a contact.

  • Name
    Name
    Name
    Name
    Note

    Name may be altered or unavailable for releases after Windows 8.1. Instead, use FirstName.

    Sets and gets the name of the contact.

    public string Name { get; set; }public string Name { get; set; }Public ReadWrite Property Name As string

    Property Value

    • string
      string
      string
      string

      The name of the contact.

    Remarks

    An app can set the Name property to any value that matches the name of a contact. We recommend that you set this value to contain both the first and last names of the contact, if that information is available.

    Examples

    This example shows a function taking the Name property and returning the first and last names of the contact.

    function getFirstAndLastName(contact) {
        var name = contact.name;
        if (name.indexOf(" ") != -1) {
            var firstAndLast = name.split(" ");
            return {
                first: firstAndLast[0],
                last: firstAndLast[1]
            };
        } else {
            return null;
        }
    }
    
  • Nickname
    Nickname
    Nickname
    Nickname

    Gets or sets the nickname for the Contact.

    public string Nickname { get; set; }public string Nickname { get; set; }Public ReadWrite Property Nickname As string

    Property Value

    • string
      string
      string
      string

      The nickname for the Contact.

  • Notes
    Notes
    Notes
    Notes

    Gets and sets notes for a contact. The maximum string length for notes is 4096 characters.

    public string Notes { get; set; }public string Notes { get; set; }Public ReadWrite Property Notes As string

    Property Value

    • string
      string
      string
      string

      A string that contains notes for a contact.

  • Phones
    Phones
    Phones
    Phones

    Gets info about the phones for a contact.

    public IVector<ContactPhone> Phones { get; }public IVector<ContactPhone> Phones { get; }Public ReadOnly Property Phones As IVector<ContactPhone>

    Property Value

    • An array of items that describe the phones for a contact.

  • ProviderProperties
    ProviderProperties
    ProviderProperties
    ProviderProperties

    Gets the property set object for the contact.

    public IPropertySet ProviderProperties { get; }public IPropertySet ProviderProperties { get; }Public ReadOnly Property ProviderProperties As IPropertySet

    Property Value

  • RemoteId
    RemoteId
    RemoteId
    RemoteId

    Gets or sets an ID that can be used by a service provider to access the Contact in their remote system.

    public string RemoteId { get; set; }public string RemoteId { get; set; }Public ReadWrite Property RemoteId As string

    Property Value

    • string
      string
      string
      string

      An ID that can be used by a service provider to access the Contact in their remote system.

  • RingToneToken
    RingToneToken
    RingToneToken
    RingToneToken

    Gets or puts the path to the ringtone file for the Contact.

    public string RingToneToken { get; set; }public string RingToneToken { get; set; }Public ReadWrite Property RingToneToken As string

    Property Value

    • string
      string
      string
      string

      The path to the ringtone file for the Contact.

  • SignificantOthers
    SignificantOthers
    SignificantOthers
    SignificantOthers

    Gets the significant others for a contact.

    public IVector<ContactSignificantOther> SignificantOthers { get; }public IVector<ContactSignificantOther> SignificantOthers { get; }Public ReadOnly Property SignificantOthers As IVector<ContactSignificantOther>

    Property Value

    • An array of significant others for a contact.

  • SmallDisplayPicture
    SmallDisplayPicture
    SmallDisplayPicture
    SmallDisplayPicture

    Gets a small version of the display picture for the Contact.

    public IRandomAccessStreamReference SmallDisplayPicture { get; }public IRandomAccessStreamReference SmallDisplayPicture { get; }Public ReadOnly Property SmallDisplayPicture As IRandomAccessStreamReference

    Property Value

  • SortName
    SortName
    SortName
    SortName

    Gets the name used to sort the contact.

    public string SortName { get; }public string SortName { get; }Public ReadOnly Property SortName As string

    Property Value

    • string
      string
      string
      string

      The name used to sort the contact.

  • SourceDisplayPicture
    SourceDisplayPicture
    SourceDisplayPicture
    SourceDisplayPicture

    Gets or sets the display picture for the Contact in its original size.

    public IRandomAccessStreamReference SourceDisplayPicture { get; set; }public IRandomAccessStreamReference SourceDisplayPicture { get; set; }Public ReadWrite Property SourceDisplayPicture As IRandomAccessStreamReference

    Property Value

    Remarks

    The SmallDisplayPicture, LargeDisplayPicture and Thumbnail are generated from this picture.

  • TextToneToken
    TextToneToken
    TextToneToken
    TextToneToken

    Gets or puts the path to the audio file to play when an SMS/MMS message is received from the Contact.

    public string TextToneToken { get; set; }public string TextToneToken { get; set; }Public ReadWrite Property TextToneToken As string

    Property Value

    • string
      string
      string
      string

      The path to the audio file to play when an SMS/MMS message is received from the Contact.

  • Thumbnail
    Thumbnail
    Thumbnail
    Thumbnail

    Gets or sets a thumbnail image that represents this contact.

    public IRandomAccessStreamReference Thumbnail { get; set; }public IRandomAccessStreamReference Thumbnail { get; set; }Public ReadWrite Property Thumbnail As IRandomAccessStreamReference

    Property Value

  • Websites
    Websites
    Websites
    Websites

    Gets the Web sites for a contact.

    public IVector<ContactWebsite> Websites { get; }public IVector<ContactWebsite> Websites { get; }Public ReadOnly Property Websites As IVector<ContactWebsite>

    Property Value

    • An array of Web sites for a contact.

  • YomiDisplayName
    YomiDisplayName
    YomiDisplayName
    YomiDisplayName

    Gets the Yomi (phonetic Japanese equivalent) display name for a contact.

    public string YomiDisplayName { get; }public string YomiDisplayName { get; }Public ReadOnly Property YomiDisplayName As string

    Property Value

    • string
      string
      string
      string

      The Yomi display name for a contact.

    Remarks

    Windows calculates the YomiDisplayName property by using the values from the YomiGivenName and YomiFamilyName properties. The calculation for YomiDisplayName takes into account different locale hints such as script of the text in the names, resource context, and default user locale to determine the proper formatting template for the name.

  • YomiFamilyName
    YomiFamilyName
    YomiFamilyName
    YomiFamilyName

    Gets the Yomi (phonetic Japanese equivalent) family name for a contact. The maximum string length for the Yomi family name is 120 characters.

    public string YomiFamilyName { get; set; }public string YomiFamilyName { get; set; }Public ReadWrite Property YomiFamilyName As string

    Property Value

    • string
      string
      string
      string

      The Yomi family name for a contact.

  • YomiGivenName
    YomiGivenName
    YomiGivenName
    YomiGivenName

    Gets the Yomi (phonetic Japanese equivalent) given name for a contact. The maximum string length for the Yomi given name is 120 characters.

    public string YomiGivenName { get; set; }public string YomiGivenName { get; set; }Public ReadWrite Property YomiGivenName As string

    Property Value

    • string
      string
      string
      string

      The Yomi given name for a contact.

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ActivatableAttribute
Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.MuseAttribute

Details

Assembly

Windows.ApplicationModel.Contacts.dll