Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Extensibility / Model / PropertyIdentifier.cs / 1305376 / PropertyIdentifier.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Activities.Presentation.Model {
using System;
using System.Windows;
using System.Runtime;
using System.Activities.Presentation;
using System.Diagnostics.CodeAnalysis;
///
/// A PropertyIdentifier is an object that represents a property. Properties
/// can be identified by name or by dependency property. Where possible,
/// you should use dependency properties as they provide higher fidelity.
///
[SuppressMessage(FxCop.Category.Performance, FxCop.Rule.AvoidUninstantiatedInternalClasses, Justification = "False posistive, used as generic parameter.")]
[Fx.Tag.XamlVisible(false)]
class PropertyIdentifier
{
private string _name;
private DependencyProperty _property;
///
/// Creates a new PropertyIdentifier.
///
public PropertyIdentifier(string name) {
if (name == null) throw FxTrace.Exception.ArgumentNull("name");
_name = name;
}
///
/// Creates a new PropertyIdentifier.
///
public PropertyIdentifier(DependencyProperty property) {
if (property == null) throw FxTrace.Exception.ArgumentNull("property");
_property = property;
_name = _property.Name;
}
///
/// The property name. This will either be the supplied name or the
/// name of the dependency property. It will never be null.
///
public string Name {
get { return _name; }
}
///
/// The dependency property this identifier represents. This
/// can be null if the property identifier was not initialized
/// with a dependency property.
///
public DependencyProperty DependencyProperty {
get { return _property; }
}
///
/// Overrride of GetHashCode.
///
public override int GetHashCode() {
return _name.GetHashCode();
}
///
/// Override of Equals to properly implement object equality for
/// PropertyIdentifier.
///
public override bool Equals(object obj) {
PropertyIdentifier other = obj as PropertyIdentifier;
if (other == null) return false;
if (_property != null && _property == other._property) return true;
if (_name.Equals(other._name, StringComparison.Ordinal)) return true;
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Activities.Presentation.Model {
using System;
using System.Windows;
using System.Runtime;
using System.Activities.Presentation;
using System.Diagnostics.CodeAnalysis;
///
/// A PropertyIdentifier is an object that represents a property. Properties
/// can be identified by name or by dependency property. Where possible,
/// you should use dependency properties as they provide higher fidelity.
///
[SuppressMessage(FxCop.Category.Performance, FxCop.Rule.AvoidUninstantiatedInternalClasses, Justification = "False posistive, used as generic parameter.")]
[Fx.Tag.XamlVisible(false)]
class PropertyIdentifier
{
private string _name;
private DependencyProperty _property;
///
/// Creates a new PropertyIdentifier.
///
public PropertyIdentifier(string name) {
if (name == null) throw FxTrace.Exception.ArgumentNull("name");
_name = name;
}
///
/// Creates a new PropertyIdentifier.
///
public PropertyIdentifier(DependencyProperty property) {
if (property == null) throw FxTrace.Exception.ArgumentNull("property");
_property = property;
_name = _property.Name;
}
///
/// The property name. This will either be the supplied name or the
/// name of the dependency property. It will never be null.
///
public string Name {
get { return _name; }
}
///
/// The dependency property this identifier represents. This
/// can be null if the property identifier was not initialized
/// with a dependency property.
///
public DependencyProperty DependencyProperty {
get { return _property; }
}
///
/// Overrride of GetHashCode.
///
public override int GetHashCode() {
return _name.GetHashCode();
}
///
/// Override of Equals to properly implement object equality for
/// PropertyIdentifier.
///
public override bool Equals(object obj) {
PropertyIdentifier other = obj as PropertyIdentifier;
if (other == null) return false;
if (_property != null && _property == other._property) return true;
if (_name.Equals(other._name, StringComparison.Ordinal)) return true;
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Maps.cs
- InheritanceRules.cs
- DictionaryKeyPropertyAttribute.cs
- HTTPRemotingHandler.cs
- Clock.cs
- LocatorGroup.cs
- TextTreeInsertElementUndoUnit.cs
- HelpInfo.cs
- DrawingGroup.cs
- DropDownButton.cs
- TemplateKey.cs
- InfoCardService.cs
- SerializationObjectManager.cs
- InputGestureCollection.cs
- CompositionAdorner.cs
- DataGridViewCellStyleConverter.cs
- ConfigurationManagerHelperFactory.cs
- XamlPoint3DCollectionSerializer.cs
- RSAOAEPKeyExchangeDeformatter.cs
- TraceListener.cs
- Win32.cs
- DetailsViewUpdatedEventArgs.cs
- EnumUnknown.cs
- Control.cs
- ParameterToken.cs
- CaseExpr.cs
- FilterableData.cs
- SerialReceived.cs
- Hash.cs
- TextSelectionProcessor.cs
- DependencyObjectType.cs
- RemoteDebugger.cs
- entityreference_tresulttype.cs
- InternalPermissions.cs
- UnicodeEncoding.cs
- ViewGenerator.cs
- Converter.cs
- Base64Decoder.cs
- WindowsStartMenu.cs
- Random.cs
- Assert.cs
- CorrelationManager.cs
- InertiaTranslationBehavior.cs
- MappingModelBuildProvider.cs
- FtpWebRequest.cs
- ManagedIStream.cs
- ListDictionaryInternal.cs
- DockPattern.cs
- Base64Decoder.cs
- XmlSchemaElement.cs
- Timer.cs
- Tag.cs
- XamlWriter.cs
- DbConnectionClosed.cs
- LocationSectionRecord.cs
- Invariant.cs
- StoryFragments.cs
- BoundsDrawingContextWalker.cs
- GridViewRowPresenterBase.cs
- SingleQueryOperator.cs
- EdmType.cs
- TableLayoutCellPaintEventArgs.cs
- DataGridViewControlCollection.cs
- SkinBuilder.cs
- XmlSchemaSubstitutionGroup.cs
- PhonemeEventArgs.cs
- XmlCharCheckingReader.cs
- TemplateBindingExtension.cs
- LocalValueEnumerator.cs
- CallbackHandler.cs
- WebResponse.cs
- MetricEntry.cs
- MailMessageEventArgs.cs
- DebuggerService.cs
- View.cs
- ReflectionTypeLoadException.cs
- KeyInstance.cs
- EUCJPEncoding.cs
- UrlAuthorizationModule.cs
- UpdatePanelTriggerCollection.cs
- ObjectDataSourceStatusEventArgs.cs
- SourceSwitch.cs
- StringCollectionEditor.cs
- JapaneseLunisolarCalendar.cs
- ProfilePropertySettingsCollection.cs
- CodeObjectCreateExpression.cs
- DetailsViewPagerRow.cs
- EngineSite.cs
- COM2PropertyDescriptor.cs
- QilCloneVisitor.cs
- Int16Animation.cs
- MethodBody.cs
- Rect3D.cs
- NamedPermissionSet.cs
- PlaceHolder.cs
- Dump.cs
- SchemaLookupTable.cs
- BitmapDecoder.cs
- GeometryCollection.cs
- DbMetaDataFactory.cs