title: Binding Jar Library
body: <p>I'm trying to bind a jar library (jCIFS) on MFA, but i'm stuck on some errors, like this one:</p>
  
  <p>'Jcifs.Util.MD4' does not implement inherited abstract member 'Java.Security.MessageDigestSpi.EngineDigest()</p>
  
  <p>After some research, i found some topics about this, telling to edit the metadata to change the permissions of the classes, like this:</p>
  
  <pre><code>&lt;attr path="/api/package[@name='java.security']/class[@name='MessageDigestSpi']/method[@name='engineDigest']" name="visibility"&gt;public&lt;/attr&gt;
  </code></pre>
  
  <p>But the error didn't change, and a still won't get what this error means. </p>
  
  <p>Anyone ?</p>
  
  <p><strong>Edit</strong>: This's the code of virtual class who return me the error:</p>
  
  <pre><code>    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));
      }
  </code></pre>
  
  <p>And i added this in a new file:</p>
  
  <pre><code>partial class MD4
  {
      public override byte[] EngineDigest()
      {
          return null;
      }
  }
  </code></pre>
  
  <p>If i do that, this error is returned:</p>
  
  <p><em>Error  1   Type 'Jcifs.Util.MD4' already defines a member called 'EngineDigest' with the same parameter types</em></p>
  
  <p>From what I understand, the method EngineDigest already exists, but the class needs to implement it. How i do that ?</p>
  
  <p>The full error: <em>Error  195 'Jcifs.Util.MD4' does not implement inherited abstract member 'Java.Security.MessageDigestSpi.EngineDigest()</em>'</p>
  
  <p><strong>Edit 2:</strong> I've tried to reply the problem using OsmDroidBinding example from xamarin site. I edited the metafile until i get a similar error. And one of the lines i found was this one:</p>
  
  <pre><code>&lt;attr path="/api/package[@name='org.osmdroid.tileprovider']/class[@name='MapTileProviderBase.ScaleTileLooper']/method[@name='handleTile']" name="visibility"&gt;public&lt;/attr&gt;
  </code></pre>
  
  <p>And i get this error:
  <img src="https://i.stack.imgur.com/0ISOg.jpg" alt="Error"></p>
  
  <p>Then i tried to add this to my project metafile (like above), but the error persists:</p>
  
  <pre><code>&lt;attr path="/api/package[@name='java.security']/class[@name='MessageDigestSpi']/method[@name='engineDigest']" name="visibility"&gt;public&lt;/attr&gt;
  </code></pre>
  
  <p>Thanks.</p>