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.