MissingFieldException Class
The exception that is thrown when there is an attempt to dynamically access a field that does not exist. If a field in a class library has been removed or renamed, recompile any assemblies that reference that library.
Assembly: mscorlib (in mscorlib.dll)
System::Exception
System::SystemException
System::MemberAccessException
System::MissingMemberException
System::MissingFieldException
| Name | Description | |
|---|---|---|
![]() | MissingFieldException() | Initializes a new instance of the MissingFieldException class. |
![]() | MissingFieldException(SerializationInfo^, StreamingContext) | Initializes a new instance of the MissingFieldException class with serialized data. |
![]() | 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. |
![]() | MissingFieldException(String^, String^) | Initializes a new instance of the MissingFieldException class with the specified class name and field name. |
| 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 | |
![]() | 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.) |
![]() | 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 immediate frames on the call stack.(Inherited from Exception.) |
![]() | TargetSite | Gets the method that throws the current exception.(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 it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetBaseException() | |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetObjectData(SerializationInfo^, StreamingContext) | Sets the SerializationInfo object with the class name, the member name, the signature of the missing member, and additional exception information.(Inherited from MissingMemberException.) |
![]() | GetType() | Gets the runtime type of the current instance.(Inherited from Exception.) |
![]() | MemberwiseClone() | |
![]() | ToString() | Creates and returns a string representation of the current exception.(Inherited from Exception.) |
| Name | Description | |
|---|---|---|
![]() | ClassName | Holds the class name of the missing member.(Inherited from MissingMemberException.) |
![]() | MemberName | Holds the name of the missing member.(Inherited from MissingMemberException.) |
![]() | Signature | Holds the signature of the missing member.(Inherited from MissingMemberException.) |
| Name | Description | |
|---|---|---|
![]() | SerializeObjectState | Occurs when an exception is serialized to create an exception state object that contains serialized data about the 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.
using namespace System; using namespace System::Reflection; ref class App { }; int main() { try { // Attempt to call a static DoSomething method defined in the App class. // However, because the App class does not define this method, // a MissingMethodException is thrown. App::typeid->InvokeMember("DoSomething", BindingFlags::Static | BindingFlags::InvokeMethod, nullptr, nullptr, nullptr); } catch (MissingMethodException^ ex) { // Show the user that the DoSomething method cannot be called. Console::WriteLine("Unable to call the DoSomething method: {0}", ex->Message); } try { // Attempt to access a static AField field defined in the App class. // However, because the App class does not define this field, // a MissingFieldException is thrown. App::typeid->InvokeMember("AField", BindingFlags::Static | BindingFlags::SetField, nullptr, nullptr, gcnew array<Object^>{5}); } catch (MissingFieldException^ ex) { // Show the user that the AField field cannot be accessed. Console::WriteLine("Unable to access the AField field: {0}", ex->Message); } try { // Attempt to access a static AnotherField field defined in the App class. // However, because the App class does not define this field, // a MissingFieldException is thrown. App::typeid->InvokeMember("AnotherField", BindingFlags::Static | BindingFlags::GetField, nullptr, nullptr, nullptr); } catch (MissingMemberException^ ex) { // 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. Console::WriteLine("Unable to access the AnotherField field: {0}", ex->Message); } } // This code 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.
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




