Aufruf mehrere dll-Importe mit der gleichen Methode name
Bin ich importieren mehrere unmanaged c++ DLL in mein Projekt jedoch die importierten DLLs haben dieselben Methodennamen, die Ursachen compiler gibt. Zum Beispiel;
unsafe class Myclass
{
[DllImport("myfirstdll.dll")]
public static extern bool ReturnValidate(long* bignum);
[DllImport("myseconddll.dll")]
public static extern bool ReturnValidate(long* bignum);
public Myclass
{
int anum = 123;
long passednum = &anum;
ReturnValidate(passsednum);
}
}
Nun, was ich gerne machen würde, wäre die Methode umbenennen auf "importieren". So etwas wie;
[DllImport("myseconddll.dll")]
public static extern bool ReturnValidate(long bignum) AS bool ReturnValidate2(long bignum);
Ist das möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen beliebigen Namen für die importierte Funktion, Sie sollten nur angeben, in
DllImport
den Namen der Funktion, mitEntryPoint
Eigenschaft. So geben Sie den code könnte wie folgt Aussehen:Verwenden Sie die EntryPoint-Eigenschaft des DllImport-Attribut.
Wenn Sie jetzt anrufen ReturnValidate2 in Ihrem C# - code, die Sie effektiv nennen ReturnValidate auf myseconddll.dll.
Verwenden Sie die
EntryPoint
parameter:Dokumentation:
http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx
http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.entrypoint.aspx