Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- BitmapMetadataBlob.cs
- ViewValidator.cs
- BrowserTree.cs
- KeysConverter.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- WebControl.cs
- LookupBindingPropertiesAttribute.cs
- MethodImplAttribute.cs
- TcpAppDomainProtocolHandler.cs
- WorkflowMarkupSerializerMapping.cs
- SHA384Managed.cs
- SqlLiftIndependentRowExpressions.cs
- GeometryModel3D.cs
- Resources.Designer.cs
- HttpModulesSection.cs
- LoginViewDesigner.cs
- HttpValueCollection.cs
- WsiProfilesElementCollection.cs
- Zone.cs
- FormParameter.cs
- ConvertEvent.cs
- DecodeHelper.cs
- XmlMapping.cs
- HttpListenerResponse.cs
- DbConnectionFactory.cs
- JapaneseLunisolarCalendar.cs
- DockPanel.cs
- LineServicesCallbacks.cs
- OracleConnectionString.cs
- CodeDefaultValueExpression.cs
- Compiler.cs
- URI.cs
- CodeAttributeDeclarationCollection.cs
- DynamicRendererThreadManager.cs
- XmlSchemaIdentityConstraint.cs
- UriTemplateTable.cs
- tooltip.cs
- RegistryDataKey.cs
- TreeNode.cs
- DelimitedListTraceListener.cs
- UnmanagedHandle.cs
- QueryGeneratorBase.cs
- CompModSwitches.cs
- PolicyStatement.cs
- RNGCryptoServiceProvider.cs
- ProfileInfo.cs
- NavigationWindow.cs
- TrackingServices.cs
- X509UI.cs
- SafeMemoryMappedFileHandle.cs
- XPathDocumentBuilder.cs
- LineSegment.cs
- PopOutPanel.cs
- String.cs
- UIElement3D.cs
- SymbolType.cs
- DataDocumentXPathNavigator.cs
- DataListItem.cs
- StreamFormatter.cs
- isolationinterop.cs
- UnmanagedBitmapWrapper.cs
- TokenBasedSetEnumerator.cs
- PropertyTab.cs
- EditableRegion.cs
- CatalogPartCollection.cs
- HtmlLink.cs
- MessageQueueAccessControlEntry.cs
- AbsoluteQuery.cs
- BitmapImage.cs
- BaseTemplateBuildProvider.cs
- PipelineModuleStepContainer.cs
- DnsPermission.cs
- Stackframe.cs
- WebServicesSection.cs
- WsdlInspector.cs
- ClientScriptManagerWrapper.cs
- ResourceReader.cs
- CodeMemberProperty.cs
- ApplicationDirectory.cs
- webclient.cs
- XslCompiledTransform.cs
- XmlEntityReference.cs
- WebConfigurationFileMap.cs
- CompiledQuery.cs
- PathGradientBrush.cs
- CodeCompiler.cs
- DataGridAddNewRow.cs
- SecurityKeyIdentifierClause.cs
- ServiceDocument.cs
- SafeNativeMethods.cs
- LogExtentCollection.cs
- Descriptor.cs
- ReadOnlyTernaryTree.cs
- XamlLoadErrorInfo.cs
- ListItemParagraph.cs
- ResourceReader.cs
- SiteMapSection.cs
- X509CertificateCollection.cs
- SoapReflectionImporter.cs
- Cursor.cs