On May 13, 2012, at 5:35 PM, James Lavery wrote:
> I get an error:
> /Com.Ianywhere.Ultralitejni12.Implementation.JniDbMgr' already defines a 
> member called 'Release' with the same parameter types/

You would use Transforms\Metadata.xml to manipulate the API to appease the C# 
compiler:

        
http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_(.jar)#Transform_Files
        
http://docs.xamarin.com/android/tutorials/Binding_a_Java_Library_(.jar)#API_Metadata

For example, this is an "implementation" package; should it be bound at all? If 
not, remove it:

        
https://github.com/xamarin/monodroid-samples/commit/5ed1ef96516139acac049b087d0a856c98c2db49#L1R2

        <remove-node 
path="/api/package[@name='com.ianywhere.ultralitejni12.implementation']" />

If you need the package, you may want to rename one of the members by adding 
the "managedName" attribute:

        <attr
                
path="/api/package[@name='com.ianywhere.ultralitejni12.implementation']/class[@name='JniDbMgr']/method[@name='release'
 and return='TODO]"
                name="managedName">Release2</attr>

The above is assuming that JniDbMgr.release() is overloaded based on return 
type, in which case you'd replace TODO with the appropriate return type of the 
release() method (as obtained from the API XML description). The above would 
rename the matching method to Release2(). Or you could remove it with 
<remove-node/>, or...

 - Jon

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to