Share via


SPUserResourceCollection Class

Represents a collection of user-defined localizable resources associated with a list or a Web site.

Inheritance Hierarchy

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPUserResourceCollection

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: Yes
Available in SharePoint Online

Syntax

'Declaration
<SubsetCallableTypeAttribute> _
Public NotInheritable Class SPUserResourceCollection _
    Inherits SPBaseCollection
'Usage
Dim instance As SPUserResourceCollection
[SubsetCallableTypeAttribute]
public sealed class SPUserResourceCollection : SPBaseCollection

Remarks

An object of this type is returned by the SPList.UserResources property and by the SPWeb.UserResources property. The collection contains SPUserResource objects that represent localizable user-defined resources such as the title of a list, the title of a column, the description of a Web site, the display name of a content type.

Examples

The following example is a console application that prints the names and values of user-defined resources in two collections. The first collection consists of resources associated with a Web site, and the second collection consists of resources for a list in the site. Note that the resource values that are printed are the values for the language of the current thread. Values for other languages may exist. For more information, see the SPUserResource class.

using System;
using Microsoft.SharePoint;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("https://localhost"))
            {
                using (SPWeb web = site.RootWeb)
                {
                    PrintValues(web.Title, web.UserResources);

                    SPList list = web.Lists.TryGetList("My Custom List");
                    if (list != null)
                        PrintValues(list.Title, list.UserResources);
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.Read();
        }

        static void PrintValues(string parent, SPUserResourceCollection resources)
        {
            Console.WriteLine("Resources for {0}\n", parent);

            string formatString = "{0,-45} {1}";
            Console.WriteLine(formatString, "Name", "Value");

            foreach (SPUserResource resource in resources)
            {
                Console.WriteLine(formatString, resource.Name, resource.Value);
            }

            Console.WriteLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()
        Using site As New SPSite("https://localhost")
            Using web As SPWeb = site.OpenWeb()

                PrintValues(web.Title, web.UserResources)

                Dim list As SPList = web.Lists.TryGetList("My Custom List")
                If list IsNot Nothing Then
                    PrintValues(list.Title, list.UserResources)
                End If

            End Using
        End Using
        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub

    Sub PrintValues(ByVal parent As String, ByVal resources As SPUserResourceCollection)

        Console.WriteLine("Resources for {0}" & vbLf, parent)

        Dim formatString As String = "{0,-45} {1}"
        Console.WriteLine(formatString, "Name", "Value")

        For Each resource As SPUserResource In resources
            Console.WriteLine(formatString, resource.Name, resource.Value)
        Next

        Console.WriteLine()
    End Sub

End Module

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

SPUserResourceCollection Members

Microsoft.SharePoint Namespace

SPList.UserResources

SPWeb.UserResources

Other Resources

Understanding the Multilingual User Interface (MUI)