3 // Copyright (c) Microsoft Corporation. All rights reserved.
6 /*=============================================================================
8 ** Class: MissingMethodException
11 ** Purpose: The exception class for class loading failures.
14 =============================================================================*/
19 using System.Runtime.Remoting;
20 using System.Runtime.Serialization;
21 using System.Runtime.CompilerServices;
22 using System.Globalization;
23 [System.Runtime.InteropServices.ComVisible(true)]
25 public class MissingMethodException : MissingMemberException, ISerializable {
26 public MissingMethodException()
27 : base(Environment.GetResourceString("Arg_MissingMethodException")) {
28 SetErrorCode(__HResults.COR_E_MISSINGMETHOD);
31 public MissingMethodException(String message)
33 SetErrorCode(__HResults.COR_E_MISSINGMETHOD);
36 public MissingMethodException(String message, Exception inner)
37 : base(message, inner) {
38 SetErrorCode(__HResults.COR_E_MISSINGMETHOD);
41 protected MissingMethodException(SerializationInfo info, StreamingContext context) : base(info, context) {
44 public override String Message
46 [System.Security.SecuritySafeCritical] // auto-generated
48 if (ClassName == null) {
51 // do any desired fixups to classname here.
52 return Environment.GetResourceString("MissingMethod_Name",
53 ClassName + "." + MemberName +
54 (Signature != null ? " " + FormatSignature(Signature) : ""));
60 private MissingMethodException(String className, String methodName, byte[] signature)
62 ClassName = className;
63 MemberName = methodName;
64 Signature = signature;
67 public MissingMethodException(String className, String methodName)
69 ClassName = className;
70 MemberName = methodName;
73 // If ClassName != null, Message will construct on the fly using it
74 // and the other variables. This allows customization of the
75 // format depending on the language environment.