See Also: FieldAccessException Members
The following example demonstrates a scenario under which FieldAccessException is thrown.
The following code contains a class with a public field (myField). This class is compiled into a class library.
C# Example
using System;
namespace TestNameSpace
{
public class Class1
{
public Class1()
{
Console.WriteLine ("Constructing with public field");
}
public int myField = -1;
}
}
The following code references the class library above, and accesses TestNameSpace.Class1.myField. This code is compiled into an application.
C# Example
using System;
using TestNameSpace;
class AppTest
{
public static void Main()
{
Class1 test = new Class1();
Console.WriteLine("Accessing member {0}.", test.myField);
}
}
The output of the application is
Constructing with public fieldThe code for the class library is changed and recompiled so that TestNameSpace.Class1.myField is no longer public. The following code changes myField from public to private.
C# Example
using System;
namespace TestNameSpace
{
public class Class1
{
public Class1()
{
Console.WriteLine ("Constructing with private field");
}
private int myField = -1;
}
}
When the application is executed again without being recompiled, the output is
Unhandled Exception: System.FieldAccessException: TestNameSpace.Class1.myField