Вызов C # dll из Java

Я разработчик Java. Но по какой-то причине я должен воспользоваться помощью C #, чтобы выполнить мою задачу. Я ниже упомянул код C #, который используется для создания DLL. Эта DLL должна быть использована в моей Java-программе, чтобы сделать все необходимое.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;

namespace Yrl.Tracingtool
{
public class DocxUtil
{
    public Application Jump(string fileName)
    {

        object fileNameAsObject = (object)fileName;
        Application wordApplication;
        try
        {
            wordApplication = new Application();
            object readnly = false;
            object missing = System.Reflection.Missing.Value;
            wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readnly, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing);
            object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
            object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
            object count = 3;

            wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);

            return wordApplication;
        }
        catch (Exception ex)
        {
            //LogEntry log = new LogEntry();
            //log.Categories.Add("Trace");
            //log.Message = ex.ToString();
            //Logger.Write(log, "Trace");
            throw new System.IO.FileLoadException("File cannot be opened");
        }
        finally
        {
            wordApplication = null;
        }
    }
}
}

Я также проверил этот форум и другие форумы, но большинство из них говорят об использовании C ++ или C DLL-файла в вызове JNI. Если у кого-то есть знания по вызову C # DLL из Java, пожалуйста, дайте мне знать.

 rajshekhar11 июн. 2012 г., 11:55
@AndersGustafsson Я подготовил технико-экономическое обоснование использования Apache POI. Но это не совсем вписывается в мои требования.
 rajshekhar11 июн. 2012 г., 11:20
@ Duffymo Я так не думаю. В этой статье нет никакой информации о C # DLL.
 Liam11 июн. 2012 г., 11:15
Я думаю, что вы должны использовать COM? Может быть не прав?
 Anders Gustafsson12 июн. 2012 г., 15:52
@Raj Доступно несколько библиотек взаимодействия Java / COM, таких как JACOB и j-interop. Больше информации вthis SO answer, Может ли это помочь?
 Anders Gustafsson11 июн. 2012 г., 11:42
На Apache есть проект Java API для Microsoft Documents,Apache POI, Может ли это быть альтернативой смешиванию Java и C #? (Конечно, у меня нет опыта использованияApache POI себя.)

Ответы на вопрос(2)

JNI is an acronym of Java Native Interface. Using JNI, we can call functions which are written in other languages from Java

посмотрите на ниже

http://www.codeproject.com/Articles/2876/JNI-Basics-1

 11 июн. 2012 г., 11:23
Вы можете использовать этот пример также для вызова кода C #
 rajshekhar11 июн. 2012 г., 11:23
Спасибо, что поделились ссылкой. Но эта статья рассказывает о C / C ++ DLL. Мне нужна информация о DLL, написанных на C #.
 23 мая 2014 г., 13:11
У вас есть пример для этого? Я согласен с Раджем, библиотеки C # отличаются от собственных библиотек Windows. Я на самом деле ищу инструмент для объединения проектов Java и .NET, и если бы я мог использовать JNI, это могло бы быть подходящим решением. Спасибо

Мы используемICE общаться между .NET и Java-приложениями. Это не совсем то, что вам нужно, но может помочь.

Также я рекомендую поискать в Google".NET Java bridge" - для этого есть несколько фреймворков (jni4net, JNBridge и т. д.)

Ваш ответ на вопрос