ppittle / pMixins

pMixins - Mixin framework for C#
http://pMixins.com
Apache License 2.0
23 stars 5 forks source link

Place Protected Members and Abstract Wrappers class in pMixins.AutoGenerated NS #19

Closed ppittle closed 10 years ago

ppittle commented 10 years ago

Default to placing Protected Members and Abstract Wrappers classes in the pMixins.AutoGenerated namespace and only fallback to housing inside the __pMixinAutoGenerated private class if necessary.

Reasoning:

    public class Mixin
    {
        protected Mixin(object obj){}
    }

    public abstract class AbstractMixin
    {
        protected AbstractMixin(object obj){}
    }

    [pMixin(Mixin = typeof(Mixin), ExplicitlyInitializeMixin = true)]
    [pMixin(Mixin = typeof(AbstractMixin), ExplicitlyInitializeMixin = true)]
    public partial class NonPublicNonParameterlessConstructor
    {
        Mixin IMixinConstructorRequirement<Mixin>.InitializeMixin()
        {
           // should be able to say return new AbstractMixinAbstractWrapper(this, 1);
            return new __pMixinAutoGenerated.pMixins_Mvc_Recipes_NonPublicNonParameterlessConstructor_Mixin.MixinAbstractWrapper((this, 1);
        }

        AbstractMixinAbstractWrapper IMixinConstructorRequirement<AbstractMixinAbstractWrapper>.InitializeMixin()
        {
           //Wrapper is in 
            return new AbstractMixinAbstractWrapper(this, 1);
        }
    }
ppittle commented 10 years ago

Added in 0.5.1