- Home /
How to open an Editor Window by using the MethodInfo.Invoke function ?
I am trying to open my editor window via MethodInfo.Invoke but it will not work .
if (GUI.Button(new Rect(0, 0, 200, 20), "Click Me"))
{
Type thisType = typeof(EditorWindow);
MethodInfo theMethod = thisType.GetMethod("GetWindow", new Type[]{typeof(MyWindow)});
theMethod.Invoke("GetWindow", new object[]{typeof(MyWindow)});
}
This works so why cant i get my editor window to show up
if (GUI.Button(new Rect(0, 0, 200, 20), "Click Me"))
{
Type thisType = typeof(TestThis);
MethodInfo theMethod = thisType.GetMethod("Up", new Type[]{typeof(String)});
theMethod.Invoke("Up", new object[]{" word "});
}
public class TestThis
{
public static void Up()
{
Debug.Log("Works");
}
public static void Up( String T)
{
Debug.Log(T);
}
}
try like this and a link
$$anonymous$$ethodInfo method = typeof(SomeType).Get$$anonymous$$ethod("Some$$anonymous$$ethod");
method.Invoke(someObject, new object[] { methodParams });
I already know the format. I want to use this method to open the editor window. I may just go with another method later but I want to get this method working.
Answer by Adamcbrz · Sep 04, 2015 at 01:12 PM
I modified your script to test it and it appears if you change typeof(MyWindow) in the GetMethod call to typeof(Type) it seems to work.
So the resulting line change would look like:
MethodInfo theMethod = thisType.GetMethod("GetWindow", new Type[]{typeof(Type)});
See if that works for you.
well well well here is the answer , I could have sworn I tried using Type before .
thanks a lot
Your answer
Follow this Question
Related Questions
How do I wait until after AssetDatabase creates an assets before carrying out another function ? 0 Answers
reflection propertyinfo.getvalue compiles fine but gives erros in editor 1 Answer
Any way to attach a bit of code to individual UI Windows [Editor] 1 Answer
Associate my custom asset with a custom EditorWindow 3 Answers
Editor Window Serialization not Working as Expected 2 Answers