我試圖綁定一個罐子庫的MFA(JCIFS),但我被困在一些誤區,像這樣的:綁定罐圖書館
「Jcifs.Util.MD4」不實現繼承的抽象成員「Java.Security.MessageDigestSpi.EngineDigest()
經過一番研究,我發現這個有些話題,告訴編輯更改類的權限元數據,如:
<attr path="/api/package[@name='java.security']/class[@name='MessageDigestSpi']/method[@name='engineDigest']" name="visibility">public</attr>
但錯誤沒有改變,仍然不會得到這個錯誤的含義。
有人嗎?
編輯:這是虛擬類的誰返回我的錯誤代碼:
public virtual byte[] EngineDigest()
{
if (id_engineDigest == IntPtr.Zero)
id_engineDigest = JNIEnv.GetMethodID (class_ref, "engineDigest", "()[B");
if (GetType() == ThresholdType)
return (byte[]) JNIEnv.GetArray (JNIEnv.CallObjectMethod (Handle, id_engineDigest), JniHandleOwnership.TransferLocalRef, typeof (byte));
else
return (byte[]) JNIEnv.GetArray (JNIEnv.CallNonvirtualObjectMethod (Handle, ThresholdClass, id_engineDigest), JniHandleOwnership.TransferLocalRef, typeof (byte));
}
而且我加入這一個新的文件:
partial class MD4
{
public override byte[] EngineDigest()
{
return null;
}
}
如果我這樣做,這個錯誤返回:
錯誤1類型'Jcifs.Util.MD4'已經使用相同的參數t定義了一個名爲'EngineDigest'的成員ypes
據我所知,EngineDigest方法已經存在,但類需要實現它。我該怎麼做?
完整的錯誤:錯誤195 'Jcifs.Util.MD4' 不實現繼承的抽象成員 'Java.Security.MessageDigestSpi.EngineDigest()'
編輯2:我試着使用xamarin站點中的OsmDroidBinding示例回覆該問題。我編輯了元文件,直到遇到類似的錯誤。我發現其中一條線路是這樣的一個:
<attr path="/api/package[@name='org.osmdroid.tileprovider']/class[@name='MapTileProviderBase.ScaleTileLooper']/method[@name='handleTile']" name="visibility">public</attr>
,我得到這個錯誤:
然後我試圖把它添加到我的項目圖元文件(如上述),但錯誤依然存在:
<attr path="/api/package[@name='java.security']/class[@name='MessageDigestSpi']/method[@name='engineDigest']" name="visibility">public</attr>
謝謝。
我缺少一些C#技能,所以我不能到任何地方。如果我添加了這個代碼VS返回我「...已經定義了一個名爲EngineDigest的成員具有相同的參數類型,我將編輯該問題以獲取更多信息 – Juliano