Класс SPAttachmentCollection
Перезагружает расширенные свойства элемента списка.
Иерархия наследования
System.Object
Microsoft.SharePoint.SPAttachmentCollection
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Class SPAttachmentCollection _
Implements ICollection, IEnumerable
'Применение
Dim instance As SPAttachmentCollection
public class SPAttachmentCollection : ICollection,
IEnumerable
Замечания
Свойство Attachments класса SPListItem для возврата коллекции вложений для элемента списка. Чтобы создать вложение, используйте метод Add
Используйте индексатор для возвращения имени файла одного вложения из коллекции. Например предположим, что коллекция присваивается переменной с именем collAttachments , используйтеindexcollAttachments[] в C# илиindexcollAttachments() в Visual Basic, где index – номер индекса вложения в коллекции.
Примеры
В следующем примере кода показано, как присоединять файлы из библиотеки общих документов к первому элементу списка в список, отображаемый для каждого дочернего узла.
Метод Add класса SPAttachmentCollection требует передать как параметр файл в двоичном формате. Таким образом в примере используется метод OpenBinary класса SPFile для открытия любого файла в папке в двоичном формате.
Dim oSiteCollection As SPSite = SPContext.Current.Site
Dim collWebsites As SPWebCollection = oSiteCollection.AllWebs
Dim oWebsite As SPWeb = collWebsites("Site_Name")
Dim oFolder As SPFolder = oWebsite.Folders("Shared Documents")
For Each oWebsiteNext As SPWeb In collWebsites
Dim oList As SPList = oWebsiteNext.Lists("List_Name")
Dim collItem As SPListItemCollection = oList.Items
Dim oListItem As SPListItem = collItem(0)
Dim collAttachments As SPAttachmentCollection = oListItem.Attachments
Dim collFiles As SPFileCollection = oFolder.Files
For Each oFile As SPFile In collFiles
Dim strFileName As String = oFile.Name
Dim binFile As Byte() = oFile.OpenBinary()
collFiles.Add(strFileName, binFile)
Next oFile
oListItem.Update()
oWebsiteNext.Dispose()
Next oWebsiteNext
oWebsite.Dispose()
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;
SPWeb oWebsite = collWebsites["Site_Name"];
SPFolder oFolder = oWebsite.Folders["Shared Documents"];
foreach (SPWeb oWebsiteNext in collWebsites)
{
SPList oList = oWebsiteNext.Lists["List_Name"];
SPListItemCollection collItem = oList.Items;
SPListItem oListItem = collItem[0];
SPAttachmentCollection collAttachments = oListItem.Attachments;
SPFileCollection collFiles = oFolder.Files;
foreach (SPFile oFile in collFiles)
{
string strFileName = oFile.Name;
byte[] binFile = oFile.OpenBinary();
collFiles.Add(strFileName, binFile);
}
oListItem.Update();
oWebsiteNext.Dispose();
}
oWebsite.Dispose();
Примечание
Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.