Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / ValueType.cs / 2 / 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; [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
- TemplateBindingExtension.cs
- XPathSelectionIterator.cs
- DateTimeParse.cs
- WebResourceUtil.cs
- OneToOneMappingSerializer.cs
- RawStylusInputReport.cs
- CopyAttributesAction.cs
- compensatingcollection.cs
- DataList.cs
- InkCanvasInnerCanvas.cs
- PartitionedStream.cs
- SharedStatics.cs
- SecurityException.cs
- ScriptingProfileServiceSection.cs
- XmlEntityReference.cs
- IndexedSelectQueryOperator.cs
- SafeRightsManagementEnvironmentHandle.cs
- CommandValueSerializer.cs
- AliasExpr.cs
- MessageBox.cs
- Point4D.cs
- SapiInterop.cs
- DeferredReference.cs
- UserControlBuildProvider.cs
- ContainerControl.cs
- SpStreamWrapper.cs
- SemaphoreSecurity.cs
- QuaternionValueSerializer.cs
- PersonalizationStateInfoCollection.cs
- _TransmitFileOverlappedAsyncResult.cs
- ControlUtil.cs
- ActiveXHost.cs
- HttpApplicationStateBase.cs
- XmlDataSource.cs
- BindUriHelper.cs
- ScanQueryOperator.cs
- IncrementalReadDecoders.cs
- TextTrailingCharacterEllipsis.cs
- DispatchWrapper.cs
- ValidatingPropertiesEventArgs.cs
- ScriptComponentDescriptor.cs
- TokenBasedSet.cs
- TableCell.cs
- ObjectItemCollection.cs
- MultiPropertyDescriptorGridEntry.cs
- EncoderParameter.cs
- XmlEntityReference.cs
- DelegateSerializationHolder.cs
- AutomationIdentifierGuids.cs
- invalidudtexception.cs
- ObjectListField.cs
- IncomingWebRequestContext.cs
- PolicyException.cs
- ComponentManagerBroker.cs
- XamlTypeMapperSchemaContext.cs
- ObjectNavigationPropertyMapping.cs
- DataRelationPropertyDescriptor.cs
- MonikerBuilder.cs
- LineServices.cs
- PackWebRequest.cs
- GlyphsSerializer.cs
- TdsParserHelperClasses.cs
- StrokeNodeOperations.cs
- DetailsViewCommandEventArgs.cs
- FontResourceCache.cs
- OdbcStatementHandle.cs
- TextBox.cs
- SupportingTokenSpecification.cs
- SafeNativeMethods.cs
- GuidelineSet.cs
- DeviceContext2.cs
- XmlCDATASection.cs
- GroupBoxAutomationPeer.cs
- IIS7UserPrincipal.cs
- RightsManagementEncryptionTransform.cs
- DataGridViewRowCancelEventArgs.cs
- CroppedBitmap.cs
- DecoderFallback.cs
- ServiceReference.cs
- CollectionViewSource.cs
- Itemizer.cs
- ObjectRef.cs
- RelatedPropertyManager.cs
- TargetException.cs
- Section.cs
- UnsafePeerToPeerMethods.cs
- TreeViewItem.cs
- EllipseGeometry.cs
- SrgsElementFactoryCompiler.cs
- CallbackException.cs
- SubMenuStyle.cs
- XMLDiffLoader.cs
- ServiceHttpModule.cs
- EventQueueState.cs
- VectorKeyFrameCollection.cs
- Win32Native.cs
- HttpPostProtocolReflector.cs
- Pair.cs
- SapiGrammar.cs
- NativeMethods.cs