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
- Наследование
- Атрибуты
Примеры
В следующем примере параметр помечается 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. Это |
| No |
Указывает, что свойство не должно быть локализовано. Это |
| Yes |
Указывает, что свойство должно быть локализовано. Это |
Свойства
| Имя | Описание |
|---|---|
| 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) |