我正在尝试在 MFA 上绑定一个 jar 库(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”已经定义了一个名为“EngineDigest”的成员,具有相同的参数类型
据我了解,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>
谢谢。