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
- HtmlShim.cs
- DrawingContextWalker.cs
- NameObjectCollectionBase.cs
- tibetanshape.cs
- WebPartsSection.cs
- SiteMap.cs
- Attributes.cs
- HitTestParameters3D.cs
- returneventsaver.cs
- HttpHandlerAction.cs
- LinearKeyFrames.cs
- DockPattern.cs
- AddInController.cs
- Effect.cs
- RawAppCommandInputReport.cs
- DataServiceStreamResponse.cs
- NodeFunctions.cs
- TypeHelpers.cs
- EventLogStatus.cs
- OleStrCAMarshaler.cs
- Authorization.cs
- XmlValueConverter.cs
- StringFormat.cs
- AddressUtility.cs
- XpsColorContext.cs
- SendingRequestEventArgs.cs
- CapabilitiesUse.cs
- PageAsyncTask.cs
- TimeSpanMinutesConverter.cs
- serverconfig.cs
- CellTreeNodeVisitors.cs
- XmlLanguage.cs
- HtmlShimManager.cs
- SqlStatistics.cs
- TypeToArgumentTypeConverter.cs
- sqlstateclientmanager.cs
- TreeNodeCollectionEditor.cs
- LogSwitch.cs
- EmissiveMaterial.cs
- XPathCompileException.cs
- OletxTransactionManager.cs
- CreatingCookieEventArgs.cs
- ServiceModelExtensionElement.cs
- CustomPopupPlacement.cs
- SimpleMailWebEventProvider.cs
- OperationInvokerBehavior.cs
- TemplateXamlTreeBuilder.cs
- OperationFormatUse.cs
- ResourceWriter.cs
- CryptoConfig.cs
- TreeViewItem.cs
- TypedElement.cs
- SeekableMessageNavigator.cs
- RelationHandler.cs
- DefaultTraceListener.cs
- NullRuntimeConfig.cs
- ServiceOperationWrapper.cs
- Interlocked.cs
- DrawItemEvent.cs
- DataServices.cs
- OleDbFactory.cs
- MSG.cs
- SQLInt64Storage.cs
- LoginName.cs
- StylusPlugin.cs
- Flowchart.cs
- AutomationTextAttribute.cs
- Cursor.cs
- XmlAnyElementAttributes.cs
- NumberFormatter.cs
- SQLRoleProvider.cs
- FlowPanelDesigner.cs
- BoolExpression.cs
- SizeValueSerializer.cs
- ChannelSinkStacks.cs
- ForeignKeyConstraint.cs
- SQLBytes.cs
- LicenseManager.cs
- ByteAnimationUsingKeyFrames.cs
- TimelineClockCollection.cs
- DoubleCollection.cs
- TreeIterator.cs
- ArrayListCollectionBase.cs
- RTLAwareMessageBox.cs
- Permission.cs
- ExtensionsSection.cs
- IdleTimeoutMonitor.cs
- SQLSingle.cs
- XmlAggregates.cs
- WebServiceData.cs
- AutomationElementIdentifiers.cs
- ScopelessEnumAttribute.cs
- AuthenticatedStream.cs
- ChannelManager.cs
- MsmqIntegrationMessageProperty.cs
- SingleAnimationUsingKeyFrames.cs
- GregorianCalendar.cs
- StickyNoteAnnotations.cs
- FilteredXmlReader.cs
- RSAOAEPKeyExchangeFormatter.cs