Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / LocalizabilityAttribute.cs / 1305600 / LocalizabilityAttribute.cs
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2001
//
// File: LocalizabiltyAttribute.cs
//
// Contents: Localizability attributes
//
// Created: 3/17/2004 Garyyang
// 7/19/2004 garyyang, Update according to new spec.
//
//
//-----------------------------------------------------------------------
using System;
using System.ComponentModel;
namespace System.Windows
{
///
/// Specifies the localization preferences for a class or property in Baml
/// The attribute can be specified on Class, Property and Method
///
[AttributeUsage(
AttributeTargets.Class
| AttributeTargets.Property
| AttributeTargets.Field
| AttributeTargets.Enum
| AttributeTargets.Struct,
AllowMultiple = false,
Inherited = true)
]
public sealed class LocalizabilityAttribute : Attribute
{
///
/// Construct a LocalizabilityAttribute to describe the localizability of a property.
/// Modifiability property default to Modifiability.Modifiable, and Readability property
/// default to Readability.Readable.
///
/// the string category given to the item
public LocalizabilityAttribute(LocalizationCategory category)
{
if ( category < LocalizationCategory.None
|| category > LocalizationCategory.NeverLocalize)
{
throw new InvalidEnumArgumentException(
"category",
(int)category,
typeof(LocalizationCategory)
);
}
_category = category;
_readability = Readability.Readable;
_modifiability = Modifiability.Modifiable;
}
///
/// String category
///
/// gets or sets the string category for the item
public LocalizationCategory Category
{
// should have only getter, because it is a required parameter to the constructor
get { return _category; }
}
///
/// Get or set the readability of the attribute's targeted value
///
/// Readability
public Readability Readability
{
get { return _readability; }
set
{
if ( value != Readability.Unreadable
&& value != Readability.Readable
&& value != Readability.Inherit)
{
throw new InvalidEnumArgumentException("Readability", (int) value, typeof(Readability));
}
_readability = value;
}
}
///
/// Get or set the modifiability of the attribute's targeted value
///
/// Modifiability
public Modifiability Modifiability
{
get { return _modifiability; }
set
{
if ( value != Modifiability.Unmodifiable
&& value != Modifiability.Modifiable
&& value != Modifiability.Inherit)
{
throw new InvalidEnumArgumentException("Modifiability", (int) value, typeof(Modifiability));
}
_modifiability = value;
}
}
//--------------------------------------------
// Private members
//--------------------------------------------
private LocalizationCategory _category;
private Readability _readability;
private Modifiability _modifiability;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2001
//
// File: LocalizabiltyAttribute.cs
//
// Contents: Localizability attributes
//
// Created: 3/17/2004 Garyyang
// 7/19/2004 garyyang, Update according to new spec.
//
//
//-----------------------------------------------------------------------
using System;
using System.ComponentModel;
namespace System.Windows
{
///
/// Specifies the localization preferences for a class or property in Baml
/// The attribute can be specified on Class, Property and Method
///
[AttributeUsage(
AttributeTargets.Class
| AttributeTargets.Property
| AttributeTargets.Field
| AttributeTargets.Enum
| AttributeTargets.Struct,
AllowMultiple = false,
Inherited = true)
]
public sealed class LocalizabilityAttribute : Attribute
{
///
/// Construct a LocalizabilityAttribute to describe the localizability of a property.
/// Modifiability property default to Modifiability.Modifiable, and Readability property
/// default to Readability.Readable.
///
/// the string category given to the item
public LocalizabilityAttribute(LocalizationCategory category)
{
if ( category < LocalizationCategory.None
|| category > LocalizationCategory.NeverLocalize)
{
throw new InvalidEnumArgumentException(
"category",
(int)category,
typeof(LocalizationCategory)
);
}
_category = category;
_readability = Readability.Readable;
_modifiability = Modifiability.Modifiable;
}
///
/// String category
///
/// gets or sets the string category for the item
public LocalizationCategory Category
{
// should have only getter, because it is a required parameter to the constructor
get { return _category; }
}
///
/// Get or set the readability of the attribute's targeted value
///
/// Readability
public Readability Readability
{
get { return _readability; }
set
{
if ( value != Readability.Unreadable
&& value != Readability.Readable
&& value != Readability.Inherit)
{
throw new InvalidEnumArgumentException("Readability", (int) value, typeof(Readability));
}
_readability = value;
}
}
///
/// Get or set the modifiability of the attribute's targeted value
///
/// Modifiability
public Modifiability Modifiability
{
get { return _modifiability; }
set
{
if ( value != Modifiability.Unmodifiable
&& value != Modifiability.Modifiable
&& value != Modifiability.Inherit)
{
throw new InvalidEnumArgumentException("Modifiability", (int) value, typeof(Modifiability));
}
_modifiability = value;
}
}
//--------------------------------------------
// Private members
//--------------------------------------------
private LocalizationCategory _category;
private Readability _readability;
private Modifiability _modifiability;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColumnResizeAdorner.cs
- PageRequestManager.cs
- ExpandoObject.cs
- DynamicActivityProperty.cs
- FileDetails.cs
- AppendHelper.cs
- Literal.cs
- RectangleConverter.cs
- SharedDp.cs
- LicenseManager.cs
- SequenceNumber.cs
- RequestSecurityTokenResponse.cs
- WindowsFormsSynchronizationContext.cs
- AttributedMetaModel.cs
- Vector3D.cs
- NetWebProxyFinder.cs
- CodeIdentifier.cs
- DecoderFallback.cs
- TraceLog.cs
- XmlNodeChangedEventArgs.cs
- ConversionContext.cs
- safex509handles.cs
- LinearKeyFrames.cs
- ImageIndexConverter.cs
- ImageDrawing.cs
- SqlDataSourceSummaryPanel.cs
- SiteMapDataSourceView.cs
- WebScriptMetadataMessageEncoderFactory.cs
- TiffBitmapDecoder.cs
- SettingsContext.cs
- DataGridViewTextBoxCell.cs
- ExpressionsCollectionConverter.cs
- BackgroundFormatInfo.cs
- UIElementHelper.cs
- WindowsProgressbar.cs
- FileVersionInfo.cs
- LocationInfo.cs
- MultipartIdentifier.cs
- RTTypeWrapper.cs
- ListViewSortEventArgs.cs
- PolicyLevel.cs
- XmlCountingReader.cs
- NTAccount.cs
- uribuilder.cs
- OleDbRowUpdatingEvent.cs
- PrincipalPermission.cs
- OraclePermission.cs
- ContentElement.cs
- SizeAnimationBase.cs
- Encoder.cs
- Shared.cs
- PrivilegeNotHeldException.cs
- Assert.cs
- XmlComment.cs
- RSAOAEPKeyExchangeFormatter.cs
- DataGridViewRowEventArgs.cs
- ReferencedCollectionType.cs
- ConfigXmlSignificantWhitespace.cs
- ObjectManager.cs
- CacheSection.cs
- PenContexts.cs
- EdmRelationshipRoleAttribute.cs
- GeneralTransformGroup.cs
- XmlAtomicValue.cs
- XmlResolver.cs
- RecognitionResult.cs
- SiteMapNodeItemEventArgs.cs
- CacheEntry.cs
- CheckedListBox.cs
- SchemaMerger.cs
- OleDbError.cs
- DBPropSet.cs
- RevocationPoint.cs
- Vertex.cs
- LateBoundBitmapDecoder.cs
- OdbcConnectionPoolProviderInfo.cs
- PeerNameResolver.cs
- oledbconnectionstring.cs
- ApplicationGesture.cs
- _LazyAsyncResult.cs
- CrossSiteScriptingValidation.cs
- GridViewCellAutomationPeer.cs
- ItemAutomationPeer.cs
- DebugHandleTracker.cs
- ClientApiGenerator.cs
- PagerSettings.cs
- Visual3DCollection.cs
- CryptoKeySecurity.cs
- CorrelationManager.cs
- SetMemberBinder.cs
- SafeCryptContextHandle.cs
- IntSecurity.cs
- HtmlValidatorAdapter.cs
- XmlCountingReader.cs
- RadialGradientBrush.cs
- ClientSponsor.cs
- TableLayoutStyleCollection.cs
- SqlDataSourceCommandEventArgs.cs
- UrlMappingsSection.cs
- ApplicationManager.cs