[Mono-bugs] [Bug 633014] New: Cleanup API by hiding I*Listener interfaces which have *EventHandler delegates defined.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Aug 19 18:59:02 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=633014

https://bugzilla.novell.com/show_bug.cgi?id=633014#c0


           Summary: Cleanup API by hiding I*Listener interfaces which have
                    *EventHandler delegates defined.
    Classification: Mono
           Product: MonoDroid
           Version: SVN
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Enhancement
          Priority: P5 - None
         Component: Class Libraries
        AssignedTo: mkestner at novell.com
        ReportedBy: jpryor at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Apparently this is a recurring discussion internally, but my brain has fled the
building and thus I don't remember the rationale...

Consider the TextView.IOnEditorActionListener interface.  This has been
"duplicated" as the TextView.OnEditorActionEventHandler delegate so that it can
be used in the TextView.EditorAction event.

This is apparently confusing to some users, as we're providing two ways to do
the same thing: the TextView.EditorAction event, or the
TextView.SetOnEditorActionListener() method.

Furthermore, due to lack of documentation (easily fixed, but still)
implementing interfaces is not trivial as all implementations need to implement
the IJavaObject interface.  (This is in fact trivial -- inherit from
Java.Lang.Object -- but we haven't documented it yet.)

Thus, the proposal: IFF we have a *EventHandler delegate type equivalent to an
I*Listener interface, make the I*Listener interface internal (and thus hide any
public methods using that type, such as TextView.SetOnEditorActionListener).

We thus remove duplication and simplify the API.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list