2013-04-30 5 views
6

Ich übersetze einen in C# geschriebenen Code in Java. Dieser Code verwendet COM-Objekte für die Interaktion mit einer Anwendung von Drittanbietern. Ich habe es geschafft, COM-Objekte mit com4j Bibliothek zu behandeln, aber eine der Methoden erfordert System.DBNull.value in es übergeben werden, die ein C# -Objekt ist.Wie kann ich C# System.DBNull.value in Java verwenden?

Wie kann ich mit einer Java-Anwendung umgehen?

+0

Ich löschte meine Antwort, da ich keine Ideen habe, wenn das nicht funktioniert :) – durron597

+0

@ durron597, das war ein guter Versuch auf jeden Fall. – svz

+0

Ich bin nicht super vertraut mit Java, aber DBNull ist äquivalent zu einer VARIANT vom Typ VT_NULL, also nehme ich an, mit com4j können Sie einen Variant (http://com4j.kohsuke.org/apidocs/com4j/Variant.html) Aufruf erstellen setType (VT_NULL) und übergibt dies an die Interop-Ebene. –

Antwort

4

. NET System.DBNull entspricht einem VARIANT des Typs VT_NULL. In der Tat ist dies offiziell hier dokumentiert: DBNull Class

Also nehme ich an com4j verwenden Sie einen Variant erstellen können, rufen setType (VT_NULL), und diese Interop-Schicht auf die .NET übergeben.

+1

Funktioniert mit: new Variant (Variant.Type.VT_NULL) –

Verwandte Themen