Hi,
I'm interested in figuring out exactly what kind of change to an assembly
is binary compatible. I've browsed the doc a fair bit, but I can't find a
comprehensive list of what actually constitutes binary compatibility.
Could someone point me at an authoritative list?
One question in particular I
On Wed, 2005-05-04 at 09:25 +1000, Michi Henning wrote:
> Note that the destructor simply checks whether destroy() was called before the
> instance is collected and that this is required only for a debug build. In
> order to save the cost of acquiring the lock (and to avoid the cost of
> calling t
> In general, adding or removing an override is not a breaking change.
>
> Finalize works by chaining to the parent using base.Finalize. calling a
> method on base will always say call .Method. In the
> JIT we would in the debug build see: "my direct parent" has the finalize
> method so call that,
On Wed, 2005-05-04 at 17:01 +1000, Michi Henning wrote:
> > In general, adding or removing an override is not a breaking change.
> >
> > Finalize works by chaining to the parent using base.Finalize. calling a
> > method on base will always say call .Method. In the
> > JIT we would in the debug buil
On Wed, 2005-05-04 at 11:45 -0400, Ben Maurer wrote:
> > Safe to add a private method or data member?
>
> Private method -- always.
I take this back. There is a corner case where it is not safe:
foo.cs:
public class BaseThingy {
public virtual void DoIt () {
Console.Writ