LocalizableAttribute Класс

Определение

Указывает, следует ли локализовать свойство или параметр. Этот класс не наследуется.

public ref class LocalizableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class LocalizableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type LocalizableAttribute = class
    inherit Attribute
Public NotInheritable Class LocalizableAttribute
Inherits Attribute
Наследование
LocalizableAttribute
Атрибуты

Примеры

В следующем примере параметр помечается message как необходимо локализовать.

public static void ShowMessage([Localizable(true)] string message)

В следующем примере помечается свойство, которое необходимо локализовать.

public:
   property int MyProperty 
   {
      [Localizable(true)]
      int get()
      {
         // Insert code here.
         return 0;
      }

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

В следующем примере показано, как проверить значение LocalizableAttribute для MyProperty. Во-первых, код получает PropertyDescriptorCollection все свойства объекта. Затем код получается MyProperty из PropertyDescriptorCollection. Затем он возвращает атрибуты для этого свойства и сохраняет их в переменной атрибутов.

Наконец, код задает myAttribute значение LocalizableAttribute в элементе AttributeCollection и проверяет, нужно ли локализовать свойство.

// 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)["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.
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

Комментарии

При создании кода для компонента члены, помеченные набором LocalizableAttributetrue , сохраняют значения свойств в файлах ресурсов. Эти файлы ресурсов можно локализовать без изменения кода.

По умолчанию члены, у которых нет локализуемого атрибута или помечены LocalizableAttribute набором, чтобы false их значения свойств сохранялись в коде, если тип данных разрешен. В противном случае, если для основного компонента задано Localizableзначение, все свойства будут сохранены в файле ресурса. Значение по умолчанию — false.

Note

При помечаете свойство с LocalizableAttribute заданным значением true, значение этого атрибута присваивается постоянному члену Yes. Для свойства, помеченного набором LocalizableAttributefalse, значение равно No. Таким образом, если вы хотите проверить значение этого атрибута в коде, необходимо указать атрибут как LocalizableAttribute.Yes или LocalizableAttribute.No.

Дополнительные сведения см. в разделе Атрибуты.

Конструкторы

Имя Описание
LocalizableAttribute(Boolean)

Инициализирует новый экземпляр класса LocalizableAttribute.

Поля

Имя Описание
Default

Указывает значение по умолчанию, которое является No. Это static поле доступно только для чтения.

No

Указывает, что свойство не должно быть локализовано. Это static поле доступно только для чтения.

Yes

Указывает, что свойство должно быть локализовано. Это static поле доступно только для чтения.

Свойства

Имя Описание
IsLocalizable

Возвращает значение, указывающее, следует ли локализовать свойство.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, равное ли заданному объекту текущее LocalizableAttributeзначение.

GetHashCode()

Возвращает хэш-код для этого экземпляра.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

Определяет, является ли этот атрибут значением по умолчанию.

Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к

См. также раздел