0

我是 Java 新手,现在我想使用 ikvm 来访问 C# 中的一些类:例如,我在 Java 中有这个类:

package com.mypk.js;
public class SBManager
{

    public static Session getSession(String url)   
    {
        Session session = null;

        session = createSession(url);
        return session;
    }

    private static Session createSession(String url)
    {
        Session rval = null;
        ...

        return rval;
    }
}

其中 Session 是这样的接口:

package com.mypk.js;
import...;

public abstract interface Session
{
    public abstract void closeConnection()
    public abstract void connect()
}

我的问题是如何使用 ikvm 反射(或 java 反射)来获取 SBManager 实例并访问它自己的方法或 Session 接口的方法,就像我在 java 中所做的那样:

private Session session = null;

session = SBManager.getSession("abc");

session.closeConnection();

session = null;

非常感谢。

4

1 回答 1

0

获取类实例

Class c = SBManager().getClass();

获取可用的方法

Method[] allMethods = c.getDeclaredMethods();

调用所有方法

for (Method m : allMethods){
m.invoke(obj, null);  // if the calling method expects argument, instead of null you need to pass them
}
于 2013-09-17T05:03:35.693 回答