Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / MissingMemberException.cs / 1 / MissingMemberException.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*==============================================================================
**
** Class: MissingMemberException
**
**
** Purpose: The exception class for versioning problems with DLLS.
**
**
=============================================================================*/
namespace System {
using System;
using System.Runtime.Remoting;
using System.Runtime.Serialization;
using System.Runtime.CompilerServices;
using System.Globalization;
using System.Security.Permissions;
[System.Runtime.InteropServices.ComVisible(true)]
[Serializable] public class MissingMemberException : MemberAccessException, ISerializable {
public MissingMemberException()
: base(Environment.GetResourceString("Arg_MissingMemberException")) {
SetErrorCode(__HResults.COR_E_MISSINGMEMBER);
}
public MissingMemberException(String message)
: base(message) {
SetErrorCode(__HResults.COR_E_MISSINGMEMBER);
}
public MissingMemberException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.COR_E_MISSINGMEMBER);
}
protected MissingMemberException(SerializationInfo info, StreamingContext context) : base (info, context) {
ClassName = (String)info.GetString("MMClassName");
MemberName = (String)info.GetString("MMMemberName");
Signature = (byte[])info.GetValue("MMSignature", typeof(byte[]));
}
public override String Message
{
get {
if (ClassName == null) {
return base.Message;
} else {
// do any desired fixups to classname here.
return String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("MissingMember_Name",
ClassName + "." + MemberName +
(Signature != null ? " " + FormatSignature(Signature) : "")));
}
}
}
// Called to format signature
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern String FormatSignature(byte [] signature);
// Potentially called from the EE
private MissingMemberException(String className, String memberName, byte[] signature)
{
ClassName = className;
MemberName = memberName;
Signature = signature;
}
public MissingMemberException(String className, String memberName)
{
ClassName = className;
MemberName = memberName;
}
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
public override void GetObjectData(SerializationInfo info, StreamingContext context) {
if (info==null) {
throw new ArgumentNullException("info");
}
base.GetObjectData(info, context);
info.AddValue("MMClassName", ClassName, typeof(String));
info.AddValue("MMMemberName", MemberName, typeof(String));
info.AddValue("MMSignature", Signature, typeof(byte[]));
}
// If ClassName != null, GetMessage will construct on the fly using it
// and the other variables. This allows customization of the
// format depending on the language environment.
protected String ClassName;
protected String MemberName;
protected byte[] Signature;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ComplexPropertyEntry.cs
- LineInfo.cs
- WebPartMovingEventArgs.cs
- Number.cs
- WebPartsPersonalizationAuthorization.cs
- CellCreator.cs
- BitmapImage.cs
- ProfilePropertySettingsCollection.cs
- SrgsDocument.cs
- TokenizerHelper.cs
- DateTimeConverter.cs
- UserNamePasswordValidationMode.cs
- LinearGradientBrush.cs
- FixedStringLookup.cs
- ImplicitInputBrush.cs
- IPHostEntry.cs
- UserPreferenceChangedEventArgs.cs
- SqlMethodTransformer.cs
- COM2FontConverter.cs
- GAC.cs
- MachineKeySection.cs
- ToolStripScrollButton.cs
- Dictionary.cs
- EventMappingSettingsCollection.cs
- HttpWrapper.cs
- PersonalizationStateQuery.cs
- CLSCompliantAttribute.cs
- WpfPayload.cs
- NetStream.cs
- _ScatterGatherBuffers.cs
- AutoScrollExpandMessageFilter.cs
- ActivityCodeGenerator.cs
- BStrWrapper.cs
- AssertSection.cs
- DescendantBaseQuery.cs
- ObjectItemCollection.cs
- SetIndexBinder.cs
- DataGridViewRowsAddedEventArgs.cs
- DesignerAttribute.cs
- MemberDescriptor.cs
- ResourceExpressionEditor.cs
- DataProtectionSecurityStateEncoder.cs
- DecimalKeyFrameCollection.cs
- NameValuePermission.cs
- SafeRegistryKey.cs
- AccessDataSourceView.cs
- ToolStripItemCollection.cs
- DataGridColumnCollection.cs
- ContextInformation.cs
- CapabilitiesState.cs
- HiddenField.cs
- MessageQueuePermissionEntryCollection.cs
- DeviceSpecific.cs
- RuleSetDialog.cs
- DesignerVerb.cs
- TextEffectCollection.cs
- ObjectDataProvider.cs
- HwndStylusInputProvider.cs
- Point3DAnimationUsingKeyFrames.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- ErrorActivity.cs
- LineSegment.cs
- PropertyValueChangedEvent.cs
- ExtensionWindow.cs
- CheckBoxStandardAdapter.cs
- TaskHelper.cs
- TableCellCollection.cs
- ResourcePermissionBaseEntry.cs
- CollectionBase.cs
- Bidi.cs
- FixUpCollection.cs
- FirewallWrapper.cs
- BinaryParser.cs
- InkCanvasSelection.cs
- ConstructorArgumentAttribute.cs
- Behavior.cs
- ParserOptions.cs
- XmlSchemaGroupRef.cs
- NameValueSectionHandler.cs
- DesignParameter.cs
- FileDetails.cs
- TypeUnloadedException.cs
- GridToolTip.cs
- Pair.cs
- MetadataArtifactLoader.cs
- UnsafeNativeMethods.cs
- DESCryptoServiceProvider.cs
- StringValueSerializer.cs
- IncomingWebRequestContext.cs
- Typography.cs
- OracleRowUpdatedEventArgs.cs
- PathFigure.cs
- BlockUIContainer.cs
- filewebresponse.cs
- UnsafeNativeMethods.cs
- PropertyBuilder.cs
- DataContract.cs
- TabControl.cs
- ProfileGroupSettingsCollection.cs
- Char.cs