SPContentType.ResourceFolder 属性
获取内容类型的资源文件夹。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public ReadOnly Property ResourceFolder As SPFolder
Get
用法
Dim instance As SPContentType
Dim value As SPFolder
value = instance.ResourceFolder
public SPFolder ResourceFolder { get; }
属性值
类型:Microsoft.SharePoint.SPFolder
资源文件夹中。
备注
资源文件夹是内容类型使用的任意文件(如文档模板)的存储位置。
示例
下面的示例是一个控制台应用程序在网站中的每个列表中显示有关每个内容类型资源文件夹的信息。循环访问列表和其内容类型,如应用程序收集的每个资源文件夹中的文件的总大小,并打印到控制台末尾的运行累计的总额。
Imports System
Imports Microsoft.SharePoint
Module Test
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
Dim resourceSize As Long = 0
For Each list As SPList In web.Lists
For Each ct As SPContentType In list.ContentTypes
resourceSize += ResourceFolderInfo(list, ct)
Next ct
Next list
Console.WriteLine(vbCrLf + "Total size of files in all resource folders = {0} bytes", resourceSize.ToString())
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
Private Function ResourceFolderInfo(ByRef list As SPList, ByRef ct As SPContentType) As Long
If list Is Nothing OrElse ct Is Nothing Then
Throw New ArgumentException()
End If
Dim fldr As SPFolder = ct.ResourceFolder
Dim total As Long = 0
Console.WriteLine(vbCrLf + "Content type name: {0}", ct.Name)
Console.WriteLine("Relative path to resource folder: {0}", fldr.ServerRelativeUrl)
Console.Write("Files in folder:")
For Each file As SPFile In fldr.Files
Console.WriteLine(" {0}", file.Name)
total += file.Length
Next file
Console.WriteLine()
Return total
End Function
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
long resourceSize = 0;
foreach (SPList list in web.Lists)
{
foreach (SPContentType ct in list.ContentTypes)
{
resourceSize += ResourceFolderInfo(list, ct);
}
}
Console.WriteLine("\nTotal size of files in all resource folders = {0} bytes", resourceSize.ToString());
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
private static long ResourceFolderInfo(SPList list, SPContentType ct)
{
if (list == null || ct == null)
throw new ArgumentException();
SPFolder fldr = ct.ResourceFolder;
long total = 0;
Console.WriteLine("\nContent type name: {0}", ct.Name);
Console.WriteLine("Relative path to resource folder: {0}", fldr.ServerRelativeUrl);
Console.Write("Files in folder:");
foreach (SPFile file in fldr.Files)
{
Console.WriteLine(" {0}", file.Name);
total += file.Length;
}
Console.WriteLine();
return total;
}
}
}