C# 无法将void转换为int

C# 无法将void转换为int,c#,java,android,unity3d,C#,Java,Android,Unity3d,我正在为unity制作我的第一个Android插件,我遇到了一个无法解决的问题。现在,这个插件非常简单。它返回的是一个不断增加的数字,但方法是在原生Android文件中创建的。然后我从Unity内部调用此方法,以看到数字上升 这是我的密码。Android Java文件: package com.test.app; import com.unity3d.player.UnityPlayerActivity; import android.content.Context; import andro

我正在为unity制作我的第一个Android插件,我遇到了一个无法解决的问题。现在,这个插件非常简单。它返回的是一个不断增加的数字,但方法是在原生Android文件中创建的。然后我从Unity内部调用此方法,以看到数字上升

这是我的密码。Android Java文件:

package com.test.app;

import com.unity3d.player.UnityPlayerActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Config;
import android.util.Log;

public class PluginTest extends UnityPlayerActivity
{
    private static final String TAG = "PluginTest_Unity";
    private static int number = 0;

@Override
protected void onCreate(Bundle myBundle)
{
    super.onCreate(myBundle);
}

@Override
protected void onResume()
{
    if(Config.DEBUG)
    {
        Log.d(TAG, "onResume");
    }
    super.onResume();
}

@Override
protected void onPause()
{
    super.onPause();
}

@Override
protected void onStop()
{
    if(Config.DEBUG)
    {
        Log.d(TAG, "onStop");

    }
    super.onStop();
}

public static int getNumber()
{
    number++;
    return number;
}
}

我的统一C#文件:

using UnityEngine;
using System.Collections;

public class NumberExample : MonoBehaviour 
{
    public GUIText number_output_text;
    AndroidJavaClass pluginTutorialActivityJavaClass;

    // Use this for initialization
    void Start () 
    {
        AndroidJNI.AttachCurrentThread();
        pluginTutorialActivityJavaClass = new AndroidJavaClass("com.test.app.PluginTest");
    }

    // Update is called once per frame
    void Update () 
    {
        int number = pluginTutorialActivityJavaClass.CallStatic("getNumber");
        number_output_text.text = "nr: " + number;
    }
}
但是,当我尝试在Unity中构建程序时,它抱怨我无法使用以下行将void转换为int:

int number = pluginTutorialActivityJavaClass.CallStatic("getNumber");
有人能看到我需要对代码进行的更改吗?

来自:

要使用非void返回类型调用静态方法,请使用泛型 版本

//创建java.lang.String对象,并调用静态方法valueOf(float value)。
函数Start(){
var jo=新的AndroidJavaObject(“java.lang.String”);
var valueString=jo.CallStatic(“valueOf”,42.f);
}
你也许应该打电话

int number = pluginTutorialActivityJavaClass.CallStatic<int>("getNumber");
int number=pluginTutorialActivityJavaClass.CallStatic(“getNumber”);

Callstatic无效。查看文档:您是否想要
GetStatic
?用这个ctrl-c ctrl-v:-)以毫秒的速度击败我
int number = pluginTutorialActivityJavaClass.CallStatic<int>("getNumber");