diff options
Diffstat (limited to 'src/mscorlib/src/System/MissingMethodException.cs')
-rw-r--r-- | src/mscorlib/src/System/MissingMethodException.cs | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/MissingMethodException.cs b/src/mscorlib/src/System/MissingMethodException.cs new file mode 100644 index 0000000000..721fec7693 --- /dev/null +++ b/src/mscorlib/src/System/MissingMethodException.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +/*============================================================================= +** +** +** +** Purpose: The exception class for class loading failures. +** +** +=============================================================================*/ + +namespace System { + + using System; + using System.Runtime.Remoting; + using System.Runtime.Serialization; + using System.Runtime.CompilerServices; + using System.Globalization; +[System.Runtime.InteropServices.ComVisible(true)] + [Serializable] + public class MissingMethodException : MissingMemberException, ISerializable { + public MissingMethodException() + : base(Environment.GetResourceString("Arg_MissingMethodException")) { + SetErrorCode(__HResults.COR_E_MISSINGMETHOD); + } + + public MissingMethodException(String message) + : base(message) { + SetErrorCode(__HResults.COR_E_MISSINGMETHOD); + } + + public MissingMethodException(String message, Exception inner) + : base(message, inner) { + SetErrorCode(__HResults.COR_E_MISSINGMETHOD); + } + + protected MissingMethodException(SerializationInfo info, StreamingContext context) : base(info, context) { + } + + public override String Message + { + [System.Security.SecuritySafeCritical] // auto-generated + get { + if (ClassName == null) { + return base.Message; + } else { + // do any desired fixups to classname here. + return Environment.GetResourceString("MissingMethod_Name", + ClassName + "." + MemberName + + (Signature != null ? " " + FormatSignature(Signature) : "")); + } + } + } + + // Called from the EE + private MissingMethodException(String className, String methodName, byte[] signature) + { + ClassName = className; + MemberName = methodName; + Signature = signature; + } + + public MissingMethodException(String className, String methodName) + { + ClassName = className; + MemberName = methodName; + } + + // If ClassName != null, Message will construct on the fly using it + // and the other variables. This allows customization of the + // format depending on the language environment. + } +} |