MissingMethodException Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
The exception that is thrown when there is an attempt to dynamically access a method that does not exist.
System.Exception
System.SystemException
System.MemberAccessException
System.MissingMemberException
System.MissingMethodException
Assembly: mscorlib (in mscorlib.dll)
The MissingMethodException type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | MissingMethodException | Initializes a new instance of the MissingMethodException class. |
![]() | MissingMethodException(String) | Initializes a new instance of the MissingMethodException class with a specified error message. |
![]() | MissingMethodException(String, Exception) | Initializes a new instance of the MissingMethodException class with a specified error message and a reference to the inner exception that is the cause of this exception. |
| Name | Description | |
|---|---|---|
![]() | Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Inherited from Exception.) |
![]() | HelpLink | Gets or sets a link to the help file associated with this exception. (Inherited from Exception.) |
![]() | HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Inherited from Exception.) |
![]() | InnerException | Gets the Exception instance that caused the current exception. (Inherited from Exception.) |
![]() | Message | Gets the text string showing the class name, the member name, and the signature of the missing member. (Inherited from MissingMemberException.) |
![]() | Source | Gets or sets the name of the application or the object that causes the error. (Inherited from Exception.) |
![]() | StackTrace | Gets a string representation of the frames on the call stack at the time the current exception was thrown. (Inherited from Exception.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetBaseException | When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions. (Inherited from Exception.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the runtime type of the current instance. (Inherited from Exception.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Creates and returns a string representation of the current exception. (Inherited from Exception.) |
Normally a compilation error is generated if code attempts to access a nonexistent method of a class. MissingMethodException is designed to handle cases where an attempt is made to dynamically access a renamed or deleted method of an assembly that is not referenced by its strong name. MissingMethodException is thrown when code in a dependent assembly attempts to access a missing method in an assembly that was modified.
For a list of initial property values for an instance of MissingMethodException, see the MissingMethodException constructors.
This example shows what happens if you attempt to use reflection to call a method that does not exist and access a field that does not exist. The application recovers by catching the MissingMethodException, MissingFieldException, and MissingMemberException.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
Imports System.Reflection Public Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Try ' Attempt to call a static DoSomething method defined in the Example class. ' However, because the Example class does not define this field, ' a MissingFieldException is thrown. GetType(Example).InvokeMember("DoSomething", BindingFlags.Static Or BindingFlags.InvokeMethod, _ Nothing, Nothing, Nothing) Catch e As MissingMethodException ' Show the user that the DoSomething method cannot be called. outputBlock.Text += String.Format("Unable to call the DoSomething method: {0}", e.Message) & vbCrLf End Try Try ' Attempt to access a static AField field defined in the Example class. ' However, because the Example class does not define this field, ' a MissingFieldException is thrown. GetType(Example).InvokeMember("AField", BindingFlags.Static Or BindingFlags.SetField, _ Nothing, Nothing, New [Object]() {5}) Catch e As MissingFieldException ' Show the user that the AField field cannot be accessed. outputBlock.Text += String.Format("Unable to access the AField field: {0}", e.Message) & vbCrLf End Try Try ' Attempt to access a static AnotherField field defined in the Example class. ' However, because the Example class does not define this field, ' a MissingFieldException is thrown. GetType(Example).InvokeMember("AnotherField", BindingFlags.Static Or BindingFlags.GetField, _ Nothing, Nothing, Nothing) Catch e As MissingMemberException ' Notice that this code is catching MissingMemberException which is the ' base class of MissingMethodException and MissingFieldException. ' Show the user that the AnotherField field cannot be accessed. outputBlock.Text += String.Format("Unable to access the AnotherField field: {0}", e.Message) & vbCrLf End Try End Sub End Class ' This code example produces the following output: ' ' Unable to call the DoSomething method: Method 'App.DoSomething' not found. ' Unable to access the AField field: Field 'App.AField' not found. ' Unable to access the AnotherField field: Field 'App.AnotherField' not found.



Note: