Compartir a través de


Clase PropertyDataTypeCollection

Representa una colección de objetos PropertyDataType .

Jerarquía de la herencia

System.Object
  Microsoft.Office.Server.UserProfiles.PropertyDataTypeCollection

Espacio de nombres:  Microsoft.Office.Server.UserProfiles
Ensamblado:  Microsoft.Office.Server.UserProfiles (en Microsoft.Office.Server.UserProfiles.dll)

Sintaxis

'Declaración
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
Public NotInheritable Class PropertyDataTypeCollection _
    Implements ICollection, IEnumerable
'Uso
Dim instance As PropertyDataTypeCollection
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
public sealed class PropertyDataTypeCollection : ICollection, 
    IEnumerable

Comentarios

El objeto PropertyDataTypeCollection es en el contexto del sitio y almacena los tipos de datos de propiedad admitidos en la base de datos de perfil de usuario de un sitio específico.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la clase PropertyDataTypeCollection .

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");
  }
}

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros PropertyDataTypeCollection

Espacio de nombres Microsoft.Office.Server.UserProfiles