Я пытаюсь использовать метод из внешней банки в моем проекте C#. Итак, у меня есть Java проектИмпорт .jar в .dll с IKVM и его использование
package externalpackage.srp;
public class stringPair {
private String a;
private String b;
public stringPair(String a, String b) {
this.a = a;
this.b = b;
}
public String concat() {
return this.a + this.b;
}
}
Я импортировал его в библиотеку DLL с IKVM:
ikvmc test.jar
Затем я добавил test.dll в ссылки. Теперь я пытаюсь использовать его в своем проекте C#.
using System;
using System.Reflection;
using System.Reflection.Emit;
namespace HelloWorld
{
class Hello
{
static void Main()
{
string a = "aaa";
string b = "bbb";
java.lang.Class clazz = typeof(externalpackage.srp.stringPair);
java.lang.Thread.currentThread().setContextClassLoader(clazz.getClassLoader());
object obj = new externalpackage.srp.stringPair(a, b);
Console.WriteLine(obj.concat());
Console.ReadKey();
}
}
}
И Visual Studio показывает сообщение об ошибке: «объект» не содержит определение для «CONCAT», а метод расширения «CONCAT» принимающему первый аргумент типа «объект» может быть найден (Вы не нашли с помощью директивой или ссылкой на сборку?)
Похоже, что объект был создан успешно, но метод contat не может быть выполнен. Как следует использовать concat правильно?