Code:
/ 4.0 / 4.0 / untmp / 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
- TextElementEnumerator.cs
- ExceptionDetail.cs
- ToolStripContentPanelRenderEventArgs.cs
- DataGridViewRowStateChangedEventArgs.cs
- Or.cs
- KeyConverter.cs
- StringAnimationUsingKeyFrames.cs
- WorkflowInlining.cs
- DiscreteKeyFrames.cs
- StreamInfo.cs
- ToolStripPanel.cs
- BufferAllocator.cs
- HMACSHA512.cs
- ResourceReferenceExpression.cs
- TrackingParameters.cs
- PenCursorManager.cs
- ToolStripPanelRow.cs
- ReadOnlyNameValueCollection.cs
- TrailingSpaceComparer.cs
- PlatformCulture.cs
- ApplicationManager.cs
- ByteAnimation.cs
- ContentTextAutomationPeer.cs
- DbExpressionVisitor_TResultType.cs
- FormatException.cs
- ipaddressinformationcollection.cs
- XmlSchemaAny.cs
- HelpInfo.cs
- VerificationAttribute.cs
- ISFTagAndGuidCache.cs
- UnicastIPAddressInformationCollection.cs
- ProgressBarBrushConverter.cs
- MouseButtonEventArgs.cs
- XpsPackagingPolicy.cs
- PersonalizationProvider.cs
- StatusBarItemAutomationPeer.cs
- EncodingInfo.cs
- OleDbSchemaGuid.cs
- CompilationRelaxations.cs
- ErrorHandler.cs
- PasswordBox.cs
- SmtpClient.cs
- MiniCustomAttributeInfo.cs
- DebugInfoGenerator.cs
- PermissionSetEnumerator.cs
- ComponentRenameEvent.cs
- AutoGeneratedFieldProperties.cs
- SynchronizedInputProviderWrapper.cs
- DesignerResources.cs
- DisplayNameAttribute.cs
- MouseActionValueSerializer.cs
- LoginStatusDesigner.cs
- __ComObject.cs
- EventMappingSettings.cs
- ApplicationTrust.cs
- UInt32Storage.cs
- Vector3DAnimationUsingKeyFrames.cs
- Pool.cs
- DesignerActionPropertyItem.cs
- ConnectionPointCookie.cs
- RequestCacheManager.cs
- TreeIterator.cs
- CompilerScope.Storage.cs
- ControlAdapter.cs
- SettingsProviderCollection.cs
- SettingsPropertyValue.cs
- MemberExpression.cs
- CompilationUnit.cs
- SqlCommandSet.cs
- EmptyControlCollection.cs
- InstanceLockedException.cs
- SplitterEvent.cs
- RadioButtonBaseAdapter.cs
- ControlParameter.cs
- ValueTypeFixupInfo.cs
- LinkLabelLinkClickedEvent.cs
- EntityDataSourceEntityTypeFilterItem.cs
- XmlBoundElement.cs
- RSAPKCS1SignatureFormatter.cs
- Comparer.cs
- WinEventQueueItem.cs
- ConfigurationManagerInternal.cs
- ConfigurationSchemaErrors.cs
- WebOperationContext.cs
- TextSimpleMarkerProperties.cs
- PagesSection.cs
- ModuleConfigurationInfo.cs
- TextContainerHelper.cs
- ToolStripContainer.cs
- DefinitionUpdate.cs
- FileDataSourceCache.cs
- CharAnimationBase.cs
- DiscoveryExceptionDictionary.cs
- OLEDB_Enum.cs
- PauseStoryboard.cs
- DynamicValidatorEventArgs.cs
- MarkupProperty.cs
- XslAst.cs
- HighlightComponent.cs
- MonthCalendar.cs