Compartilhar via


SPFile.Properties property

Obtém os metadados do arquivo.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public ReadOnly Property Properties As Hashtable
    Get
'Uso
Dim instance As SPFile
Dim value As Hashtable

value = instance.Properties
public Hashtable Properties { get; }

Property value

Type: System.Collections.Hashtable
Um objeto System.Collections.Hashtable que contém os metadados.

Comentários

Dica

Armazenar grandes quantidades de dados nessa propriedade seriamente diminuirá o desempenho. Não armazene mais de 1 quilobyte (1k) dos dados do usuário nesta propriedade.

O modelo de objeto do Windows SharePoint Services 3.0 oferece suporte a metadados de arquivos de atualização. Você pode usar um indexador sobre esta propriedade para definir um valor. Por exemplo, para definir o valor da propriedade MyDate para um determinado arquivo como a data e hora atuais, use o indexador e chamar o método Update , da seguinte maneira:

[Visual Basic]

oFile("MyDate") = DateTime.Now

oFile.Update()

[C#]

oFile["MyDate"] = DateTime.Now;

oFile.Update();

Examples

O exemplo de código a seguir itera através da coleção de arquivos em uma biblioteca de documentos e exibe as propriedades e os valores para cada arquivo.

Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces Microsoft.SharePoint e Microsoft.SharePoint.Utilities .

Dim siteCollection As SPSite = SPContext.Current.Site
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")

Dim folder As SPFolder = site.Folders("Shared Documents")
Dim files As SPFileCollection = folder.Files
Dim file As SPFile

For Each file In  files

    Dim hash As System.Collections.Hashtable = file.Properties
    Dim keys As System.Collections.ICollection = hash.Keys
    Dim key As Object

    For Each key In  keys

        Response.Write(SPEncode.HtmlEncode(key.ToString()) 
            & " :: " & SPEncode.HtmlEncode(hash(key.ToString())
            .ToString()) & "<BR>")

    Next key

Next file
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
    SPFolder oFolder = oWebsite.Folders["Shared Documents"];
    SPFileCollection collFiles = folder.Files;

    foreach (SPFile oFile in collFiles)
    {
        System.Collections.Hashtable collHashes = file.Properties;
        System.Collections.ICollection collKeys = hash.Keys;

        foreach (object oKey in collKeys)
        {
            Response.Write(SPEncode.HtmlEncode(oKey.ToString()) 
            + " :: " + 
            SPEncode.HtmlEncode(hash[oKey.ToString()].ToString())
            + "<BR>");
        }
    }
}

O exemplo anterior exibe metadados semelhante à seguinte:

vti_author :: User_Name
vti_cachedtitle :: New Page 1
vti_metatags :: HTTP-EQUIV=Content-Language en-us GENERATOR Microsoft\ 
    FrontPage\ 5.0 ProgId FrontPage.Editor.Document 
    HTTP-EQUIV=Content-Type text/html;\ charset=windows-1252
vti_progid :: FrontPage.Editor.Document
vti_cachedbodystyle :: 
vti_modifiedby :: User_Name
vti_charset :: windows-1252
vti_sourcecontrolcheckincomment :: Comment
vti_nexttolasttimemodified :: 5/6/2003 8:16:58 PM
vti_filesize :: 6439
vti_docstoretype :: 0
vti_language :: en-us
vti_generator :: Microsoft FrontPage 5.0
vti_timelastmodified :: 5/6/2003 8:59:25 PM
vti_title :: File_Title
vti_docstoreversion :: 2
vti_sourcecontrolcookie :: fp_internal
vti_sourcecontrolversion :: V2
vti_cachedneedsrewrite :: false
vti_timecreated :: 5/6/2003 8:16:58 PM
vti_cachedcustomprops :: vti_title
vti_cachedhastheme :: false

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Ver também

Referência

SPFile class

SPFile members

Microsoft.SharePoint namespace