mail-archives/mono-docs-list/2008-March/001901.html

103 строки
4.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-docs-list] The future of monodoc.dll
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mono-docs-list%40lists.ximian.com?Subject=%5BMono-docs-list%5D%20The%20future%20of%20monodoc.dll&In-Reply-To=1206193675.21631.14.camel%40lina.magi.jprl.com">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="001900.html">
<LINK REL="Next" HREF="001902.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-docs-list] The future of monodoc.dll</H1>
<B>Mike Kestner</B>
<A HREF="mailto:mono-docs-list%40lists.ximian.com?Subject=%5BMono-docs-list%5D%20The%20future%20of%20monodoc.dll&In-Reply-To=1206193675.21631.14.camel%40lina.magi.jprl.com"
TITLE="[Mono-docs-list] The future of monodoc.dll">mkestner at novell.com
</A><BR>
<I>Sat Mar 22 12:39:19 EDT 2008</I>
<P><UL>
<LI>Previous message: <A HREF="001900.html">[Mono-docs-list] The future of monodoc.dll
</A></li>
<LI>Next message: <A HREF="001902.html">[Mono-docs-list] The future of monodoc.dll
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#1901">[ date ]</a>
<a href="thread.html#1901">[ thread ]</a>
<a href="subject.html#1901">[ subject ]</a>
<a href="author.html#1901">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>
On Sat, 2008-03-22 at 09:47 -0400, Jonathan Pryor wrote:
&gt;<i> One of the things I'd like to do before the Mono 2.0 release is migrate
</I>&gt;<i> monodoc.dll to use C# 2.0 features such as generics in the public API.
</I>&gt;<i> For example, instead of Monodoc.Node.Nodes being an ArrayList, it should
</I>&gt;<i> be an IEnumerable&lt;Node&gt; or IList&lt;Node&gt;, and Monodoc.Node should
</I>&gt;<i> implement IComparable&lt;Node&gt;, etc.
</I>
I guess my main question would be, why? It doesn't save boxing
overhead, since Node is a reference type, right? Seems like
considerable pain to avoid typing 'as Node' occasionally.
Unless the generics usage is necessary for a feature addition to a
consumer of the dll, I don't see the justification for breaking
stability.
&gt;<i> However, I'm not sure that this can actually be done, as monodoc.dll is
</I>&gt;<i> installed into the GAC, and such an API change would break any existing
</I>&gt;<i> clients on upgrade.
</I>
In order to do it, you would need to install a new assembly version into
the GAC, and probably make a monodoc-2.0.pc which is
parallel-installable to the old version.
&gt;<i> Consequently, I thought I'd throw out another idea: #ifs and changing
</I>&gt;<i> the assembly name.
</I>&gt;<i>
</I>&gt;<i> Instead of building just monodoc.dll, we could build both monodoc.dll
</I>&gt;<i> and a Mono.Documentation.dll. monodoc.dll would remain .NET 1.0
</I>&gt;<i> compatible, Mono.Documentation.dll would be for .NET 2.0, and we could
</I>&gt;<i> use #if's to keep the two separate:
</I>
If we are really going to end up with two separate dlls, we probably
ought to spec out what we need for features in a new &quot;engine&quot; dll, and
implement them in as clean as possible a codebase.
For example, my new editor/viewer could probably benefit from an engine
node that exposes raw XML. The current system is all about returning
html for obvious reasons.
I just don't see the real benefit in having a dual assembly setup if the
only difference between the versions is a little C# 2.0 sugar.
--
Mike Kestner &lt;<A HREF="http://lists.ximian.com/mailman/listinfo/mono-docs-list">mkestner at novell.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="001900.html">[Mono-docs-list] The future of monodoc.dll
</A></li>
<LI>Next message: <A HREF="001902.html">[Mono-docs-list] The future of monodoc.dll
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#1901">[ date ]</a>
<a href="thread.html#1901">[ thread ]</a>
<a href="subject.html#1901">[ subject ]</a>
<a href="author.html#1901">[ author ]</a>
</LI>
</UL>
<hr>
<a href="http://lists.ximian.com/mailman/listinfo/mono-docs-list">More information about the Mono-docs-list
mailing list</a><br>
</body></html>