[mono-android] Renaming EventHandlers and Properties in JavaBindling projects (Rules and recommendations)
Miljenko Cvjetko
mcvjetko at holisticware.net
Wed Jun 6 09:52:00 UTC 2012
Hi
I'm learning about JavaBinding project and started with binding
AChartLibrary.
So ran into:
Error 1
'Pan': member names cannot be the same as their enclosing type
HolisticWare_AChartEngine\HolisticWare.AChartEngine.JavaBindingLibrary\obj\Debug\generated\src\Android.AChartEngine.Tools.Pan.cs
134 29
HolisticWare.AChartEngine.JavaBindingLibrary
EventHandler name is the same as class name.
How would Xamarin team resolve that? Any rules for such cases?
I can rename class simply with:
<attr
path="/api/package[@name='org.achartengine.tools']/class[@name='Pan']"
name="managedName"
>PanWrapper</attr>
This would solve my problems, but I want to learn and digg deeper
Is this better or renaming EventHandler and/or Property rather than classes?
And how do I rename EventHandler?
in api.xml i Have found:
<class abstract="false" deprecated="not deprecated" extends="org.achartengine.tools.AbstractTool" extends-generic-aware="org.achartengine.tools.AbstractTool" final="false" name="Pan" static="false" visibility="public">
<constructor deprecated="not deprecated" final="false" name="Pan" static="false" type="org.achartengine.tools.Pan" visibility="public">
<parameter name="p0" type="org.achartengine.chart.AbstractChart">
</parameter>
</constructor>
<method abstract="false" deprecated="not deprecated" final="false" name="addPanListener" native="false" return="void" static="false" synchronized="true" visibility="public">
<parameter name="p0" type="org.achartengine.tools.PanListener">
</parameter>
</method>
<method abstract="false" deprecated="not deprecated" final="false" name="apply" native="false" return="void" static="false" synchronized="false" visibility="public">
<parameter name="p0" type="float">
</parameter>
<parameter name="p1" type="float">
</parameter>
<parameter name="p2" type="float">
</parameter>
<parameter name="p3" type="float">
</parameter>
</method>
<method abstract="false" deprecated="not deprecated" final="false" name="removePanListener" native="false" return="void" static="false" synchronized="true" visibility="public">
<parameter name="p0" type="org.achartengine.tools.PanListener">
</parameter>
</method>
</class>
I assume this is generated code for PanListener:
#region "Event implementation for Android.AChartEngine.Tools.IPanListener"
public event EventHandler Pan {
add {
global::Java.Interop.AndroidEventHelper.AddEventHandler<global::Android.AChartEngine.Tools.IPanListener,global::Android.AChartEngine.Tools.IPanListenerImplementor>(
ref weak_implementor_AddPanListener,
__CreateIPanListenerImplementor,
AddPanListener,
__h => __h.Handler +=value);
}
remove {
global::Java.Interop.AndroidEventHelper.RemoveEventHandler<global::Android.AChartEngine.Tools.IPanListener,global::Android.AChartEngine.Tools.IPanListenerImplementor>(
ref weak_implementor_AddPanListener,
global::Android.AChartEngine.Tools.IPanListenerImplementor.__IsEmpty,
AddPanListener,
__h => __h.Handler -=value);
}
}
WeakReference weak_implementor_AddPanListener;
global::Android.AChartEngine.Tools.IPanListenerImplementor __CreateIPanListenerImplementor ()
{
return new global::Android.AChartEngine.Tools.IPanListenerImplementor (this);
}
#endregion
Error detected in documentation:
in http://docs.xamarin.com/android/tutorials/API_Metadata_Reference
link to http://www.mono-project.com/ GAPI#Metadata
<http://docs.xamarin.com/http%3a%2f%2fwww.mono-project.com/_GAPI#Metadata>.ends
at http://docs.xamarin.com/#Metadata
--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect
Razvojni programer/Senior developer
Voditelj projekta/Project Manager
IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 7775555
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvjetko at holisticware.net
w: http://www.holisticware.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodroid/attachments/20120606/fa6feda7/attachment-0001.html>
More information about the Monodroid
mailing list