public static IntPtr GetConstructorID(IntPtr jclass, string signature)
{
IntPtr intPtr = IntPtr.Zero;
IntPtr result;
try
{
intPtr = AndroidReflection.GetConstructorMember(jclass, signature);
result = AndroidJNISafe.FromReflectedMethod(intPtr);
}
catch (Exception ex)
{
IntPtr methodID = AndroidJNISafe.GetMethodID(jclass, "<init>", signature);
if (!(methodID != IntPtr.Zero))
{
throw ex;
}
result = methodID;
}
finally
{
AndroidJNISafe.DeleteLocalRef(intPtr);
}
return(result);
}