Freigeben über


LocalizableAttribute-Klasse

Gibt an, ob eine Eigenschaft lokalisiert werden soll. Diese Klasse kann nicht geerbt werden.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class LocalizableAttribute
    Inherits Attribute
'Usage
Dim instance As LocalizableAttribute
[AttributeUsageAttribute(AttributeTargets.All)] 
public sealed class LocalizableAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)] 
public ref class LocalizableAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */ 
public final class LocalizableAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All) 
public final class LocalizableAttribute extends Attribute

Hinweise

Wenn für eine Komponente Code generiert wird, werden die Eigenschaftenwerte der Member, die mit LocalizableAttribute mit dem Wert true markiert sind, in Ressourcendateien gespeichert. Diese Ressourcendateien können lokalisiert werden, ohne den Code zu ändern.

In der Standardeinstellung werden die Eigenschaftenwerte der Member, die keine lokalisierbaren Attribute besitzen oder die mit LocalizableAttribute mit dem Wert false markiert sind, im Code beibehalten, wenn der Datentyp dies zulässt. Andernfalls werden alle Eigenschaft in der Ressourcendatei beibehalten, sofern die Hauptkomponente auf Localizable festgelegt ist. Der Standardwert ist false.

Hinweis

Wenn Sie eine Eigenschaft mit LocalizableAttribute mit dem Wert true markieren, wird der Wert dieses Attributs auf den konstanten Member Yes festgelegt. Für eine mit LocalizableAttribute mit dem Wert false markierte Eigenschaft ist der Wert No. Wenn Sie den Wert dieses Attributs im Code überprüfen möchten, müssen Sie deshalb das Attribut als LocalizableAttribute.Yes oder LocalizableAttribute.No angeben.

Weitere Informationen finden Sie unter Übersicht über Attribute und Erweitern von Metadaten mithilfe von Attributen.

Thema Position
Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Serversteuerelements Entwickeln von ASP.NET-Steuerelementen
Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Serversteuerelements Erstellen von Anwendungen mit Visual Web Developer

Beispiel

Im folgenden Beispiel wird eine Eigenschaft als zu lokalisieren markiert.

<Localizable(True)> _
Public Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
    Set
        ' Insert code here.
    End Set 
End Property
[Localizable(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }
public:
   property int MyProperty 
   {
      [Localizable(true)]
      int get()
      {
         // Insert code here.
         return 0;
      }

      void set( int value )
      {
         // Insert code here.
      }
   }
/** @attribute Localizable(true)
 */
/** @property
 */
public int get_MyProperty()
{
    // Insert code here.
    return 0;
}//get_MyProperty

/** @property 
 */
public void set_MyProperty(int value)
{
    // Insert code here.
}//set_MyProperty
public Localizable(true)
function get MyProperty() : int{
  // Insert code here.  Property goes on getter only when a property has
  // both a getter and setter.
  return 0
}

function set MyProperty(value: int){
  // Insert code here.
}

Im folgenden Beispiel wird veranschaulicht, wie der Wert von LocalizableAttribute für MyProperty überprüft wird. Zunächst wird im Code eine PropertyDescriptorCollection mit allen Eigenschaften für das Objekt abgerufen. Anschließend ruft der Code MyProperty aus PropertyDescriptorCollection ab. Dann werden die Attribute für diese Eigenschaft zurückgegeben und in der attributes-Variablen gespeichert.

Abschließend legt der Code myAttribute auf den Wert von LocalizableAttribute in der AttributeCollection fest und überprüft, ob die Eigenschaft lokalisiert werden muss.

' Gets the attributes for the property.
Dim attributes As AttributeCollection = TypeDescriptor.GetProperties(Me)("MyProperty").Attributes

' Checks to see if the property needs to be localized.
Dim myAttribute As LocalizableAttribute = CType(attributes(GetType(LocalizableAttribute)), LocalizableAttribute)
If myAttribute.IsLocalizable Then
     ' Insert code here.
End If
// Gets the attributes for the property.
AttributeCollection attributes = 
TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;

// Checks to see if the property needs to be localized.
LocalizableAttribute myAttribute = 
(LocalizableAttribute)attributes[typeof(LocalizableAttribute)];
if(myAttribute.IsLocalizable) {
// Insert code here.
}
// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyProperty" ]->Attributes;

// Checks to see if the property needs to be localized.
LocalizableAttribute^ myAttribute = dynamic_cast<LocalizableAttribute^>(attributes[ LocalizableAttribute::typeid ]);
if ( myAttribute->IsLocalizable )
{
   // Insert code here.
}
// Gets the attributes for the property.
AttributeCollection attributes = TypeDescriptor.GetProperties(this).
    get_Item("MyProperty").get_Attributes();
// Checks to see if the property needs to be localized.
LocalizableAttribute myAttribute = (LocalizableAttribute)(attributes.
    get_Item(LocalizableAttribute.class.ToType()));
if (myAttribute.get_IsLocalizable()) {
    // Insert code here.
}
// Gets the attributes for the property.
var attributes : AttributeCollection = TypeDescriptor.GetProperties(this)["MyProperty"].Attributes

// Checks to see if the property needs to be localized.
var myAttribute : LocalizableAttribute = LocalizableAttribute(attributes(LocalizableAttribute))
if(myAttribute.IsLocalizable){
     // Insert code here.
}

Vererbungshierarchie

System.Object
   System.Attribute
    System.ComponentModel.LocalizableAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

LocalizableAttribute-Member
System.ComponentModel-Namespace
Attribute
PropertyDescriptor
AttributeCollection-Klasse
PropertyDescriptorCollection