Using Example 1: Creating, starting, and interacting between threads on this MSDN tutorial more specificaly line 3 to line 7 in the Main()
I have the following code with the following error:
cannot be accessed with an instance reference; qualify it with a type name instead.
Program.cs
public static ThreadTest threadTest = new ThreadTest();
private static Thread testingThread = new Thread(new ThreadStart(threadTest.testThread()));
static void Main(string[] args)
{
}
ThreadTest.cs
public static void testThread()
{
}
                Solution. To fix this error, ensure that you access the static variable directly using the class name instead of the instance name as the qualifier.
Instance = Object. Reference = A variable that holds bit patern which points to the Object in the Memory (Heap). Example: public class Car {
Your testThread is a static method, so it's available via type name. So, instead of using isntance threadTest, use ThreadTest type.
// public static void testThread()
testingThread = new Thread(new ThreadStart(ThreadTest.testThread));
Or change method declaration (remove static):
// public void testThread()
testingThread = new Thread(new ThreadStart(threadTest.testThread));
Also you should pass method to delegate ThreadTest.testThread (parentheses removed) instead of passing result of method invokation ThreadTest.testThread().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With