Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / ControlValuePropertyAttribute.cs / 2 / ControlValuePropertyAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.ComponentModel; using System.Diagnostics; using System.Security.Permissions; using System.Web.Util; ////// Specifies the default value property for a control. /// [AttributeUsage(AttributeTargets.Class)] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ControlValuePropertyAttribute : Attribute { private readonly string _name; private readonly object _defaultValue; ////// Initializes a new instance of the public ControlValuePropertyAttribute(string name) { _name = name; } ///class. /// /// Initializes a new instance of the class, using the specified value as the default value. /// public ControlValuePropertyAttribute(string name, object defaultValue) { _name = name; _defaultValue = defaultValue; } ////// Initializes a new instance of the class, converting the specified value to the /// specified type. /// public ControlValuePropertyAttribute(string name, Type type, string defaultValue) { _name = name; // The try/catch here is because attributes should never throw exceptions. We would fail to // load an otherwise normal class. try { _defaultValue = TypeDescriptor.GetConverter(type).ConvertFromInvariantString(defaultValue); } catch { System.Diagnostics.Debug.Fail("ControlValuePropertyAttribute: Default value of type " + type.FullName + " threw converting from the string '" + defaultValue + "'."); } } ////// Gets the name of the default value property for the control this attribute is bound to. /// public string Name { get { return _name; } } ////// Gets the value of the default value property for the control this attribute is bound to. /// public object DefaultValue { get { return _defaultValue; } } public override bool Equals(object obj) { ControlValuePropertyAttribute other = obj as ControlValuePropertyAttribute; if (other != null) { if (String.Equals(_name, other.Name, StringComparison.Ordinal)) { if (_defaultValue != null) { return _defaultValue.Equals(other.DefaultValue); } else { return (other.DefaultValue == null); } } } return false; } public override int GetHashCode() { return System.Web.Util.HashCodeCombiner.CombineHashCodes( ((Name != null) ? Name.GetHashCode() : 0), ((DefaultValue != null) ? DefaultValue.GetHashCode() : 0)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.ComponentModel; using System.Diagnostics; using System.Security.Permissions; using System.Web.Util; ////// Specifies the default value property for a control. /// [AttributeUsage(AttributeTargets.Class)] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ControlValuePropertyAttribute : Attribute { private readonly string _name; private readonly object _defaultValue; ////// Initializes a new instance of the public ControlValuePropertyAttribute(string name) { _name = name; } ///class. /// /// Initializes a new instance of the class, using the specified value as the default value. /// public ControlValuePropertyAttribute(string name, object defaultValue) { _name = name; _defaultValue = defaultValue; } ////// Initializes a new instance of the class, converting the specified value to the /// specified type. /// public ControlValuePropertyAttribute(string name, Type type, string defaultValue) { _name = name; // The try/catch here is because attributes should never throw exceptions. We would fail to // load an otherwise normal class. try { _defaultValue = TypeDescriptor.GetConverter(type).ConvertFromInvariantString(defaultValue); } catch { System.Diagnostics.Debug.Fail("ControlValuePropertyAttribute: Default value of type " + type.FullName + " threw converting from the string '" + defaultValue + "'."); } } ////// Gets the name of the default value property for the control this attribute is bound to. /// public string Name { get { return _name; } } ////// Gets the value of the default value property for the control this attribute is bound to. /// public object DefaultValue { get { return _defaultValue; } } public override bool Equals(object obj) { ControlValuePropertyAttribute other = obj as ControlValuePropertyAttribute; if (other != null) { if (String.Equals(_name, other.Name, StringComparison.Ordinal)) { if (_defaultValue != null) { return _defaultValue.Equals(other.DefaultValue); } else { return (other.DefaultValue == null); } } } return false; } public override int GetHashCode() { return System.Web.Util.HashCodeCombiner.CombineHashCodes( ((Name != null) ? Name.GetHashCode() : 0), ((DefaultValue != null) ? DefaultValue.GetHashCode() : 0)); } } } // 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
- JpegBitmapEncoder.cs
- SQLDouble.cs
- PrinterSettings.cs
- FormViewInsertEventArgs.cs
- ExceptionUtil.cs
- FileChangesMonitor.cs
- InvokeProviderWrapper.cs
- WriteTimeStream.cs
- SerTrace.cs
- RepeatButtonAutomationPeer.cs
- BinarySecretKeyIdentifierClause.cs
- ProcessModuleCollection.cs
- ValidationErrorEventArgs.cs
- DesignerMetadata.cs
- UnicastIPAddressInformationCollection.cs
- ActivationServices.cs
- CryptoKeySecurity.cs
- FormViewRow.cs
- ArrangedElementCollection.cs
- DefaultHttpHandler.cs
- SoapMessage.cs
- BeginSelectCardRequest.cs
- Crc32.cs
- SecurityPolicySection.cs
- WpfPayload.cs
- XmlSerializer.cs
- ValidationManager.cs
- EasingQuaternionKeyFrame.cs
- TableDetailsRow.cs
- ApplicationProxyInternal.cs
- ExpandCollapsePattern.cs
- SortDescriptionCollection.cs
- DataKeyCollection.cs
- FileNotFoundException.cs
- DocumentGrid.cs
- NameSpaceEvent.cs
- Int64Converter.cs
- AliasGenerator.cs
- PersonalizationStateInfoCollection.cs
- DataGrid.cs
- DiagnosticStrings.cs
- SapiRecognizer.cs
- DataSpaceManager.cs
- InvalidateEvent.cs
- SByteConverter.cs
- DataSourceControl.cs
- DataSourceView.cs
- FunctionUpdateCommand.cs
- DoubleStorage.cs
- LayoutEngine.cs
- _AcceptOverlappedAsyncResult.cs
- FixedStringLookup.cs
- TimeStampChecker.cs
- DesignRelationCollection.cs
- IPAddressCollection.cs
- PointAnimationBase.cs
- NativeMethods.cs
- _Win32.cs
- Encoder.cs
- ListViewItem.cs
- BStrWrapper.cs
- NegotiateStream.cs
- WebPartCatalogAddVerb.cs
- PrintDialog.cs
- _RegBlobWebProxyDataBuilder.cs
- ProcessModelInfo.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- XmlNullResolver.cs
- ActivityTrace.cs
- KeyMatchBuilder.cs
- MergablePropertyAttribute.cs
- ThreadExceptionEvent.cs
- StringBuilder.cs
- BaseValidatorDesigner.cs
- CurrentTimeZone.cs
- HitTestDrawingContextWalker.cs
- MasterPageBuildProvider.cs
- DataBinding.cs
- SmiConnection.cs
- HtmlTable.cs
- OleDbDataReader.cs
- TraceInternal.cs
- SaveFileDialog.cs
- MessagingDescriptionAttribute.cs
- QilGenerator.cs
- WebExceptionStatus.cs
- ValueTypeIndexerReference.cs
- X500Name.cs
- TreeViewImageKeyConverter.cs
- ButtonBaseAutomationPeer.cs
- User.cs
- ErrorRuntimeConfig.cs
- XsltArgumentList.cs
- BuilderPropertyEntry.cs
- PasswordBoxAutomationPeer.cs
- FixedSOMTextRun.cs
- Part.cs
- WebAdminConfigurationHelper.cs
- AnimatedTypeHelpers.cs