MissingFieldException Class
The exception that is thrown when there is an attempt to dynamically access a field that does not exist.
System.Exception
System.SystemException
System.MemberAccessException
System.MissingMemberException
System.MissingFieldException
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
The MissingFieldException type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | MissingFieldException() | Initializes a new instance of the MissingFieldException class. |
![]() ![]() ![]() | MissingFieldException(String) | Initializes a new instance of the MissingFieldException class with a specified error message. |
![]() ![]() ![]() | MissingFieldException(String, Exception) | Initializes a new instance of the MissingFieldException 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.) |
![]() ![]() ![]() | 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 signature of the missing field, the class name, and the field name. This property is read-only. (Overrides MissingMemberException.Message.) In Silverlight for Windows Phone, this member is overridden by Message. In XNA Framework, this member is overridden by Message. |
![]() ![]() ![]() | 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 member of a class. MissingFieldException is designed to handle cases where an attempt is made to dynamically access a renamed or deleted field of an assembly that is not referenced by its strong name. The MissingFieldException is thrown when code in a dependent assembly attempts to access a missing field in an assembly that was modified.
MissingFieldException uses the HRESULT COR_E_MISSINGFIELD, that has the value 0x80131511.
For a list of initial property values for an instance of MissingFieldException, see the MissingFieldException 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 Use a Demo Method and a TextBlock Control. |
using System; using System.Reflection; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { 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. typeof(Example).InvokeMember("DoSomething", BindingFlags.Static | BindingFlags.InvokeMethod, null, null, null); } catch (MissingMethodException e) { // Show the user that the DoSomething method cannot be called. outputBlock.Text += String.Format("Unable to call the DoSomething method: {0}", e.Message) + "\n"; } 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. typeof(Example).InvokeMember("AField", BindingFlags.Static | BindingFlags.SetField, null, null, new Object[] { 5 }); } catch (MissingFieldException e) { // Show the user that the AField field cannot be accessed. outputBlock.Text += String.Format("Unable to access the AField field: {0}", e.Message) + "\n"; } 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. typeof(Example).InvokeMember("AnotherField", BindingFlags.Static | BindingFlags.GetField, null, null, null); } catch (MissingMemberException e) { // 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) + "\n"; } } } // 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.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.






Note: