Windows.cs(40,40): Error CS0120: An object reference is required for the non-static field, method, or property 'Windows.Name' (CS0120) (Assembly-CSharp) error when using variables after inherting from EditorWindow

I just cant seem to find why i get this Error:
Windows.cs(40,40): Error CS0120: An object reference is required for the non-static field, method, or property ‘Windows.Name’ (CS0120) (Assembly-CSharp)
This error shows up when using variables outside the GUI classes like OnGUI(),and only when inheriting from EditorWindow.
This is a sample script :

using UnityEngine;
using System.Collections;
using UnityEditor;

public class Windows : EditorWindow 
{
	public string Name;
	[MenuItem("WindowEditor/Windows/01" + Name)]//this is the line with the Error.
	public static void OpenWindow()
	{
		EditorWindow.GetWindow(typeof(Windows),false,"Window - 01");
	}


}

Because you are making reference to Windows in a static void, and it’s not a static class, hence you need a reference to an existing class of “Windows”.

You should read up on what static means (in a nutshell, it means: All this code doesn’t make references to “instantiated” classes. It could operate on it’s own, with no references to anything other than other static code). Someone is bound to give you a better explaination than that, but the long and short here is, Static methods can’t access non static classes without an object reference. Either make Windows a static class (which it looks like may work in your use case) or create an INSTANCE of windows and make a reference to that in the OpenWindow method.

Hope that helps. Cheers