Share via


Property class

Representa a definição de uma propriedade de perfil de usuário.

Inheritance hierarchy

System.Object
  Microsoft.Office.Server.UserProfiles.Property

Namespace:  Microsoft.Office.Server.UserProfiles
Assembly:  Microsoft.Office.Server.UserProfiles (in Microsoft.Office.Server.UserProfiles.dll)

Syntax

'Declaração
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class Property _
    Implements IPrivacyPolicyItem
'Uso
Dim instance As [Property]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class Property : IPrivacyPolicyItem

Comentários

Há dois tipos de propriedades de perfil de usuário:

  • Regular   Define o tipo de dados de propriedade e os sinalizadores de perfil de usuário correspondente.

  • Seção  Propriedade que serve como um separador para fins de agrupamento de interface do usuário.

Em Microsoft SharePoint Server 2010, esse tipo delega a maioria de seus métodos CoreProperty, ProfileTypePropertye ProfileSubtypeProperty. Exceções são geradas a partir dessas classes.

Examples

O exemplo de código a seguir mostra o uso da classe Property .

static public void PropertyTypeAndMappingSample()
{
 
  using (SPSite site = new SPSite("site url"))
  {
    SPServiceContext context = SPServiceContext.GetContext(site);
//Initialize user profile config manager object.
    UserProfileConfigManager upcm = new UserProfileConfigManager(context);
    ConnectionManager cm = upcm.ConnectionManager;
 
//Sample to get a property type.
    PropertyDataTypeCollection pdtc = upcm.GetPropertyDataTypes();
    PropertyDataType ptype = null;
 
    foreach (PropertyDataType datatype in pdtc)
    {
      if (datatype.Name.Equals("string"))
      {
        ptype = datatype;
        break;
      }
    }
 
//Sample to create a new custom property.
    ProfilePropertyManager ppm = upcm.ProfilePropertyManager;
    CorePropertyManager cpm = ppm.GetCoreProperties();
    ProfileTypePropertyManager ptpm = ppm.GetProfileTypeProperties(ProfileType.User);
    ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context);
    ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User));
    ProfileSubtypePropertyManager pspm = ps.Properties;
 
    CoreProperty coreProp = cpm.Create(false);
    coreProp.Name = "division";
    coreProp.DisplayName = "my custom division";
    coreProp.Type = ptype.Name;
    coreProp.Length = ptype.MaxCharCount;
    coreProp.Commit();
    ProfileTypeProperty profileTypeProp = ptpm.Create(coreProp);
    profileTypeProp.IsVisibleOnEditor = true;
    profileTypeProp.IsVisibleOnViewer = true;
    profileTypeProp.Commit();
    ProfileSubtypeProperty profileSubTypeProp = pspm.Create(profileTypeProp);
    profileSubTypeProp.DefaultPrivacy = Privacy.Private;
    profileSubTypeProp.IsUserEditable = true;
    profileSubTypeProp.Commit();
    pspm.SetDisplayOrderByPropertyName(profileSubTypeProp.Name, 1);
    pspm.CommitDisplayOrder();
 
//Edit property sample.
    CoreProperty ptitle = cpm.GetPropertyByName(PropertyConstants.Title);
// Or get property by URI.
    ptitle = cpm.GetPropertyByURI(Property.URI_Title);
    ptitle.DisplayName = "Designation";
    ptitle.Commit();
//Property map sample.
    string connectionName = "Test Connection";
    Connection connection = cm[connectionName];
    PropertyMapCollection pmc = connection.PropertyMapping;
    pmc.AddNewMapping(ProfileType.User, profileSubTypeProp.Name, "division");
 
//Remove property sample.
    cpm.RemovePropertyByName("division");
    ptpm.RemovePropertyByName("division");
    pspm.RemovePropertyByName("division");
  }
}

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

Property members

Microsoft.Office.Server.UserProfiles namespace