Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / ValueType.cs / 1 / 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
- MetadataProperty.cs
- MessageSmuggler.cs
- ObfuscationAttribute.cs
- TraceUtils.cs
- QilReplaceVisitor.cs
- IPAddressCollection.cs
- LiteralTextContainerControlBuilder.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- RegexStringValidatorAttribute.cs
- DockProviderWrapper.cs
- KeyedHashAlgorithm.cs
- SamlAuthorizationDecisionStatement.cs
- ParsedAttributeCollection.cs
- DependencyObjectPropertyDescriptor.cs
- Double.cs
- ColumnWidthChangedEvent.cs
- TemplateBindingExpression.cs
- ValueProviderWrapper.cs
- PersistChildrenAttribute.cs
- CryptoHelper.cs
- RowToFieldTransformer.cs
- ExpressionEditorAttribute.cs
- SchemaImporterExtension.cs
- XmlNavigatorStack.cs
- PolicyException.cs
- PointUtil.cs
- SizeConverter.cs
- CellQuery.cs
- SoundPlayerAction.cs
- VisualStyleRenderer.cs
- ObjectManager.cs
- HeaderedItemsControl.cs
- ControlCollection.cs
- ToolConsole.cs
- DataGridViewColumnTypeEditor.cs
- Compiler.cs
- EditorPartCollection.cs
- NullableBoolConverter.cs
- XamlParser.cs
- OleDbWrapper.cs
- KeyFrames.cs
- XmlByteStreamWriter.cs
- ArraySortHelper.cs
- MDIWindowDialog.cs
- ContextMenuStrip.cs
- FixedTextPointer.cs
- ColorTransformHelper.cs
- RangeBase.cs
- LayeredChannelFactory.cs
- ContextMenuStrip.cs
- EmptyCollection.cs
- WeakEventTable.cs
- Geometry.cs
- ChangePasswordDesigner.cs
- BadImageFormatException.cs
- ImageSource.cs
- WebPartCatalogCloseVerb.cs
- CacheChildrenQuery.cs
- Descriptor.cs
- XamlTreeBuilder.cs
- BuilderElements.cs
- CollectionEditorDialog.cs
- BitmapEffectInput.cs
- NotifyInputEventArgs.cs
- PKCS1MaskGenerationMethod.cs
- ContextItem.cs
- CounterSampleCalculator.cs
- CodeCommentStatement.cs
- SqlIdentifier.cs
- SQLSingleStorage.cs
- Invariant.cs
- ItemChangedEventArgs.cs
- ListViewItemSelectionChangedEvent.cs
- IDReferencePropertyAttribute.cs
- CssStyleCollection.cs
- CompilationSection.cs
- ModifyActivitiesPropertyDescriptor.cs
- DataGridComboBoxColumn.cs
- PeerApplicationLaunchInfo.cs
- GeneralTransform3DGroup.cs
- CheckPair.cs
- UpdateCommand.cs
- OptimizedTemplateContent.cs
- Italic.cs
- TextPatternIdentifiers.cs
- GridEntry.cs
- FramingFormat.cs
- XDRSchema.cs
- CultureSpecificStringDictionary.cs
- Cursors.cs
- ByteStreamGeometryContext.cs
- WebBrowserEvent.cs
- rsa.cs
- VirtualPathUtility.cs
- MediaPlayer.cs
- HybridDictionary.cs
- BeginStoryboard.cs
- ObjectDataSourceDesigner.cs
- BindingCollection.cs
- UdpDiscoveryEndpoint.cs