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
- XmlQualifiedName.cs
- DBCommand.cs
- CompositionTarget.cs
- HttpFileCollection.cs
- ByValueEqualityComparer.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- ConfigurationManager.cs
- WindowsUpDown.cs
- FixedSOMTableRow.cs
- WebScriptServiceHost.cs
- IteratorDescriptor.cs
- DataGridViewCellStyle.cs
- DetailsViewDeletedEventArgs.cs
- UrlPath.cs
- RelatedImageListAttribute.cs
- UdpContractFilterBehavior.cs
- TaskbarItemInfo.cs
- QilInvokeLateBound.cs
- configsystem.cs
- TextEditorParagraphs.cs
- MemoryMappedViewAccessor.cs
- IpcClientManager.cs
- CqlErrorHelper.cs
- SystemFonts.cs
- HashMembershipCondition.cs
- WebSysDescriptionAttribute.cs
- ProviderException.cs
- StringFormat.cs
- NativeCompoundFileAPIs.cs
- RichTextBoxConstants.cs
- XmlReaderSettings.cs
- FirstQueryOperator.cs
- Light.cs
- ChangePassword.cs
- ToolStripTextBox.cs
- InvokeProviderWrapper.cs
- RadioButton.cs
- VariableQuery.cs
- GridViewPageEventArgs.cs
- AdditionalEntityFunctions.cs
- ContainerFilterService.cs
- SubpageParaClient.cs
- JsonSerializer.cs
- LZCodec.cs
- SerializationUtility.cs
- TableParagraph.cs
- ExternalCalls.cs
- ImageSourceConverter.cs
- CodeDelegateCreateExpression.cs
- MinMaxParagraphWidth.cs
- TimeSpanOrInfiniteConverter.cs
- SerializationAttributes.cs
- MsmqHostedTransportConfiguration.cs
- StylusPointCollection.cs
- DynamicAttribute.cs
- BoundPropertyEntry.cs
- SectionUpdates.cs
- DBConnection.cs
- TimeZone.cs
- DataGridViewBand.cs
- DataPager.cs
- RemoteCryptoSignHashRequest.cs
- FixedSOMFixedBlock.cs
- WebPartConnectionsConfigureVerb.cs
- RectangleConverter.cs
- AlphabeticalEnumConverter.cs
- WindowsTitleBar.cs
- ParseElement.cs
- PrimitiveXmlSerializers.cs
- PixelFormatConverter.cs
- IPAddressCollection.cs
- RSAPKCS1SignatureDeformatter.cs
- DocumentEventArgs.cs
- XmlCountingReader.cs
- CalculatedColumn.cs
- DependencySource.cs
- X509Extension.cs
- CommandDevice.cs
- TemplateAction.cs
- MachineKeyValidationConverter.cs
- ActivityScheduledRecord.cs
- EntitySetDataBindingList.cs
- ListItemCollection.cs
- DataServiceProcessingPipelineEventArgs.cs
- DataError.cs
- TextTrailingWordEllipsis.cs
- DataGridHelper.cs
- TextEditorThreadLocalStore.cs
- PointLight.cs
- DependencyStoreSurrogate.cs
- ModuleBuilder.cs
- DiscoveryDefaults.cs
- GcHandle.cs
- UInt64Storage.cs
- CheckBoxField.cs
- UIntPtr.cs
- SelectManyQueryOperator.cs
- BufferedGraphics.cs
- LinkConverter.cs
- PageFunction.cs