Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / ValueType.cs / 1305376 / ValueType.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ValueType ** ** ** Purpose: Base class for all value classes. ** ** ===========================================================*/ namespace System { using System; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public abstract class ValueType { public override bool Equals (Object obj) { BCLDebug.Perf(false, "ValueType::Equals is not fast. "+this.GetType().FullName+" should override Equals(Object)"); if (null==obj) { return false; } RuntimeType thisType = (RuntimeType)this.GetType(); RuntimeType thatType = (RuntimeType)obj.GetType(); if (thatType!=thisType) { return false; } Object thisObj = (Object)this; Object thisResult, thatResult; // if there are no GC references in this object we can avoid reflection // and do a fast memcmp if (CanCompareBits(this)) return FastEqualsCheck(thisObj, obj); FieldInfo[] thisFields = thisType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); for (int i=0; i
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScriptControl.cs
- SQLBinary.cs
- IODescriptionAttribute.cs
- DefaultEventAttribute.cs
- LinqDataSourceValidationException.cs
- DrawingBrush.cs
- ObjectContext.cs
- Popup.cs
- PackageDigitalSignature.cs
- VectorConverter.cs
- ViewStateModeByIdAttribute.cs
- DbConvert.cs
- ValueUtilsSmi.cs
- MediaTimeline.cs
- StringBuilder.cs
- DataTableNewRowEvent.cs
- PageSetupDialog.cs
- KeyboardEventArgs.cs
- ListBindingHelper.cs
- CollectionBase.cs
- ProxyDataContractResolver.cs
- DrawingImage.cs
- DesignerLoader.cs
- MaskedTextProvider.cs
- TemplatedWizardStep.cs
- MetaModel.cs
- ConfigurationManagerInternalFactory.cs
- DesignerAdapterUtil.cs
- Sql8ExpressionRewriter.cs
- StringConverter.cs
- HwndHostAutomationPeer.cs
- XmlAttributeOverrides.cs
- TypedRowHandler.cs
- ApplicationSecurityManager.cs
- SoapFormatExtensions.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- PointLight.cs
- ConnectionString.cs
- HttpStreamXmlDictionaryWriter.cs
- ScrollViewerAutomationPeer.cs
- Interlocked.cs
- WhileDesigner.cs
- TextSelectionHelper.cs
- ByteViewer.cs
- ResourcesBuildProvider.cs
- ColumnMapCopier.cs
- WindowPattern.cs
- UpdatePanel.cs
- ConversionContext.cs
- SafeBitVector32.cs
- BitConverter.cs
- DataContractJsonSerializerOperationBehavior.cs
- FontNameConverter.cs
- WebPartEventArgs.cs
- CrossContextChannel.cs
- ReadOnlyDictionary.cs
- LoginView.cs
- HeaderFilter.cs
- ContextMenuStripGroupCollection.cs
- ReadOnlyDataSource.cs
- ThaiBuddhistCalendar.cs
- SQLBinaryStorage.cs
- SimpleType.cs
- PropertyValue.cs
- MetadataAssemblyHelper.cs
- CultureSpecificStringDictionary.cs
- DataServiceProcessingPipeline.cs
- GridViewRow.cs
- LoaderAllocator.cs
- FullTextState.cs
- SamlConstants.cs
- WhitespaceSignificantCollectionAttribute.cs
- PrintPageEvent.cs
- relpropertyhelper.cs
- BackStopAuthenticationModule.cs
- ActivityExecutionFilter.cs
- MembershipValidatePasswordEventArgs.cs
- PixelFormats.cs
- TrustLevel.cs
- NativeRightsManagementAPIsStructures.cs
- FunctionDetailsReader.cs
- BrushConverter.cs
- CommandField.cs
- HttpProcessUtility.cs
- AppLevelCompilationSectionCache.cs
- AnnotationHelper.cs
- ConnectionInterfaceCollection.cs
- PrintController.cs
- ReturnValue.cs
- SafeNativeMethods.cs
- BaseConfigurationRecord.cs
- SiteMapDataSource.cs
- CommandEventArgs.cs
- TileModeValidation.cs
- MergePropertyDescriptor.cs
- DescendentsWalker.cs
- ValidationPropertyAttribute.cs
- HtmlSelect.cs
- XmlArrayAttribute.cs
- TdsParserHelperClasses.cs