diff --git a/Moyou.Aspects/Moyou.Aspects.Factory/FactoryAttribute.cs b/Moyou.Aspects/Moyou.Aspects.Factory/FactoryAttribute.cs index 860fcf5..3766300 100644 --- a/Moyou.Aspects/Moyou.Aspects.Factory/FactoryAttribute.cs +++ b/Moyou.Aspects/Moyou.Aspects.Factory/FactoryAttribute.cs @@ -66,16 +66,18 @@ private static void HandleNonDefaultConstructor(IAspectBuilder build string trimmedInterfaceName, INamedType primaryInterface) { IConstructor? constructor; - if (memberType.Constructors.Count == 1) + if (memberType.Constructors.Count(constructor => constructor.Accessibility == Accessibility.Public) == 1) { - constructor = memberType.Constructors.Single(); + constructor = + memberType.Constructors.Single(constructor => constructor.Accessibility == Accessibility.Public); } else { try { constructor = - memberType.Constructors.SingleOrDefault(ctor => ctor.HasAttribute()); + memberType.Constructors.SingleOrDefault(ctor => + ctor.HasAttribute() && ctor.Accessibility == Accessibility.Public); } catch (InvalidOperationException iox) {