C#

2010-04-07 5 views
6

'dan herhangi bir Java yöntemini çağırın Herhangi bir Java yöntemini çağıran bir program oluşturmak için JNI ve C# kodlarını kullanmanın bir yolu var mı? Sınıf hiyerarşisini içeren bir kavanoz içerdiğimi ve JVM'yi ve bu sınıfları yüklemekten sorumlu olduğumu varsayalım, java yöntemi imza + argüman değerlerini anında alabilen ve java kodunu çağıran bir C# programı yazabilir miyim?C#

Lütfen yanıtlarınızı ücretsiz teknolojilerle sınırlandırmayı deneyin (tercih edilen JNI çözümleri). Bir seçenek olarak

cevap

3

IKVM bir seçenektir. .Net içinde bir JVM uygular ve birlikte çalışma araçları sağlar.

+1

IKVM burada nasıl yardımcı olabilir, çözüm statik eserler (.NET proxy'leri) oluşturarak değil, çalışma zamanında yapılmalıdır? – Guy

+0

@Guy - IKVM hem dinamik hem de statik modlarda kullanılabilir; bkz. http://sourceforge.net/apps/mediawiki/ikvm/index.php?title=User%27s_Guide Dinamik modda, Java bayt kodları sınıfa otomatik olarak sınıf yükleyiciyle çevrilir. –

+0

Daha genel olmak gerekirse, .NET proxy'si oluşturan çözümden uzaklaşmak istiyorum. – Guy

3

IMHO'nun en iyi yolu, Java Programını bir Web Hizmeti olarak çalıştırmak (veya bunun için Java tabanlı bir WebService Arayüzü oluşturmak) ve sadece C# 'den aramaktır.

+0

Java koduna ilişkin herhangi bir ipucumun veya onu değiştirme olasılığım olmadığından bahsetmedim. Sahip olduğum tek girdi: JAR, yöntem adı, bağımsız değişkenler ve değerler – Guy

+0

dbenerlin: Java'da desteklenen karmaşık veri türleri nelerdir. Net? Teşekkürler – Ocean