Share via


ResourcesAttribute - Classe

Dérivé de Object.Attribute et utilisé pour spécifier la façon dont une propriété doit être localisée.

Hiérarchie d’héritage

System.Object
  System.Attribute
    Microsoft.SharePoint.WebPartPages.ResourcesAttribute

Espace de noms :  Microsoft.SharePoint.WebPartPages
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class ResourcesAttribute _
    Inherits Attribute
'Utilisation
Dim instance As ResourcesAttribute
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class ResourcesAttribute : Attribute

Remarques

Au moment de l'exécution, les CustomPropertyToolPart de recherche pour la classe ResourcesAttribute . Si introuvable, la CustomPropertyToolPart effectue une itération via la méthode LoadResource (vous devez substituer cette méthode) avec les valeurs de ressources à partir de la ResourcesAttribute. Si la ressource est introuvable, l'interface utilisateur de CustomPropertyToolPart est créé avec les valeurs par défaut. Dans le cas contraire, l'interface utilisateur de CustomPropertyToolPart est construit avec les valeurs localisées. Le Microsoft.NET Framework fournira uniquement les valeurs de localisation pour l'étiquette de la propriété, une description et une étiquette de catégorie. Le nom de la propriété de base n'est pas localisé. Si la classe ResourcesAttribute n'est pas définie, l'interface utilisateur de CustomPropertyToolPart reprendra les métadonnées non localisé (c'est-à-dire, CategoryAttribute, DescriptionAttribute, FriendlyNameAttributeet le nom interne de la propriété).

Exemples

L'exemple de code suivant montre comment localiser votre propriété personnalisée lorsqu'il est affiché dans l'interface utilisateur de CustomPropertyToolPart .

'----------------------------------------------------------------------
'
' Code Summary: How to localize your custom property when displayed in the Property Grid. 
' FriendlyName, Description, and Category are localized.
'----------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports Microsoft.SharePoint.WebPartPages
Imports Microsoft.SharePoint
Imports System.Xml.Serialization
Imports System.Collections.Specialized
Imports System.Collections
Imports System.Resources
Imports System.Reflection
Imports System.Drawing
Imports System.Globalization
Imports System.Runtime.InteropServices

Namespace WebControlLibrary4
   '/ <summary>
   '/ Summary description for WPLocalizedResource.
   '/ </summary>
   <GuidAttribute("9ED54F84-A89D-4fcd-A854-44251E925C55"), 
      XmlRoot([Namespace] := "foo"), 
      ToolboxData("<{0}:WPLocalizedResource 
      runat=server></{0}:WPLocalizedResource>")>  _
   Public Class WPLocalizedResource
      Inherits Microsoft.SharePoint.WebPartPages.WebPart
      
      Private Const c_MyText_Localized As String = "My Localized Property"
      Private _myText_Localized As String
      
      Public Sub New()
         _myText_Localized = c_MyText_Localized
      End Sub
      
      'RESOURCES LOCALIZATION
      'Property that is localized. Use the ResourceAttibute.
      '[ResourcesAttribute (PropertyNameID=1, CategoryID=2, DescriptionID=3)]
      
      <ResourcesAttribute("1", "2", "3"), Category("Cool Properties"), 
         DefaultValue(c_MyText_Localized), 
         WebPartStorage(Storage.Personal), 
         FriendlyNameAttribute("My Text Localized"), 
         Description("MyText Localized")>  _
      Public Property MyText_Localized() As String
         Get
            Return _myText_Localized
         End Get
         Set
            _myText_Localized = value
         End Set
      End Property
      
      Public Overrides Function LoadResource(myID As String) As String
         Dim rm As New ResourceManager("WebControlLibrary4.Resource1", 
            [Assembly].GetExecutingAssembly())
         Return rm.GetString(myID)
      End Function
            
      'RENDER THE WEBPART
      Protected Overrides Sub RenderWebPart(output As HtmlTextWriter)
         output.Write(("<br>Localized Resource Property Value: " + 
            Me.MyText_Localized))
      End Sub
   End Class
End Namespace
//---------------------------------------------------------------------
//
// Code Summary: How to localize your custom property when displayed in the Property Grid. 
// FriendlyName, Description, and Category are localized.
//---------------------------------------------------------------------

using System;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint;
using System.Xml.Serialization;
using System.Collections.Specialized;
using System.Collections;
using System.Resources;
using System.Reflection;
using System.Drawing;
using System.Globalization;
using System.Runtime.InteropServices;

namespace WebControlLibrary4
{
    /// <summary>
    /// Summary description for WPLocalizedResource.
    /// </summary>
    [GuidAttribute("9ED54F84-A89D-4fcd-A854-44251E925C55")]
    [XmlRoot(Namespace="foo")]
    [ToolboxData("<{0}:WPLocalizedResource 
        runat=server></{0}:WPLocalizedResource>")]
    public class WPLocalizedResource : 
        Microsoft.SharePoint.WebPartPages.WebPart
    {

        const string c_MyText_Localized = "My Localized Property";
        private string _myText_Localized;

        public WPLocalizedResource() 
        {
            _myText_Localized = c_MyText_Localized;
        }

        //RESOURCES LOCALIZATION
        //Property that is localized. Use the ResourceAttibute.
        //[ResourcesAttribute (PropertyNameID=1, CategoryID=2, DescriptionID=3)]
        [ResourcesAttribute ("1","2","3")]
        [Category("Cool Properties")]
        [DefaultValue(c_MyText_Localized), 
            WebPartStorage(Storage.Personal)]
        [FriendlyNameAttribute("My Text Localized"), 
            Description("MyText Localized")]
        public string MyText_Localized
        {
            get
            {
                return _myText_Localized;
            }
            set
            {
                _myText_Localized = value;
            }
        }
        public override string LoadResource (string myID)
        {
            ResourceManager rm = new ResourceManager
                ("WebControlLibrary4.Resource1",
                Assembly.GetExecutingAssembly());
            return rm.GetString(myID);
        }
            
        //RENDER THE WEBPART
        protected override void RenderWebPart(HtmlTextWriter output)
        {
            output.Write("<br>Localized Resource Property Value: " + 
                this.MyText_Localized);
        }
    }
}

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

ResourcesAttribute - Membres

Microsoft.SharePoint.WebPartPages - Espace de noms