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
- DataGridViewButtonColumn.cs
- DodSequenceMerge.cs
- ParserHooks.cs
- XmlQualifiedNameTest.cs
- HtmlTableCellCollection.cs
- RootBrowserWindow.cs
- CodeSnippetExpression.cs
- NativeMethods.cs
- Maps.cs
- BrowsableAttribute.cs
- TypeConverter.cs
- IdentityManager.cs
- ToolStripSplitButton.cs
- PresentationTraceSources.cs
- _OverlappedAsyncResult.cs
- IERequestCache.cs
- GroupLabel.cs
- ReadOnlyPermissionSet.cs
- PackWebResponse.cs
- ServiceCredentialsSecurityTokenManager.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- RoleManagerSection.cs
- FieldBuilder.cs
- Base64Encoding.cs
- _SafeNetHandles.cs
- HtmlShimManager.cs
- SerializationEventsCache.cs
- DnsPermission.cs
- ConfigsHelper.cs
- RefType.cs
- MeshGeometry3D.cs
- ThicknessAnimationUsingKeyFrames.cs
- TemplatePagerField.cs
- EntityWrapperFactory.cs
- ProxyAttribute.cs
- DataGridViewUtilities.cs
- SimpleHandlerFactory.cs
- AssemblyNameProxy.cs
- CommandHelpers.cs
- HtmlGenericControl.cs
- AutomationAttributeInfo.cs
- OAVariantLib.cs
- CaretElement.cs
- InternalDuplexChannelFactory.cs
- ArgumentNullException.cs
- ListChangedEventArgs.cs
- AttachInfo.cs
- TableRowCollection.cs
- ConnectionStringSettings.cs
- StoryFragments.cs
- ThreadAbortException.cs
- DataColumnCollection.cs
- tibetanshape.cs
- Exceptions.cs
- SuppressMergeCheckAttribute.cs
- ActivationServices.cs
- PeerNameRecord.cs
- HtmlTableCell.cs
- HostElement.cs
- TransportConfigurationTypeElementCollection.cs
- NewItemsContextMenuStrip.cs
- ReflectionHelper.cs
- X509InitiatorCertificateClientElement.cs
- CharacterMetricsDictionary.cs
- QuotedPrintableStream.cs
- RC2CryptoServiceProvider.cs
- ToolStripMenuItem.cs
- SchemaComplexType.cs
- Stack.cs
- BaseDataList.cs
- Timer.cs
- ToolStripDropDownItem.cs
- TraceListeners.cs
- BoundColumn.cs
- DispatcherEventArgs.cs
- NameSpaceExtractor.cs
- DataGridViewCellParsingEventArgs.cs
- DataSourceSelectArguments.cs
- Scene3D.cs
- Double.cs
- ConfigurationValues.cs
- SymLanguageType.cs
- HtmlUtf8RawTextWriter.cs
- Single.cs
- EventProviderWriter.cs
- ClientFormsAuthenticationCredentials.cs
- SecurityElement.cs
- Int32KeyFrameCollection.cs
- PrimitiveXmlSerializers.cs
- SqlDataSourceView.cs
- RootBuilder.cs
- WebHttpSecurityElement.cs
- MenuAutomationPeer.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- HostedTransportConfigurationBase.cs
- ErrorTolerantObjectWriter.cs
- DiscoveryInnerClientManaged11.cs
- GroupQuery.cs
- Message.cs
- ConnectionManagementElementCollection.cs