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.