diff --git a/src/NHibernate.Test/StaticProxyTest/StaticProxyFactoryFixture.cs b/src/NHibernate.Test/StaticProxyTest/StaticProxyFactoryFixture.cs new file mode 100644 index 00000000000..72a1937ae20 --- /dev/null +++ b/src/NHibernate.Test/StaticProxyTest/StaticProxyFactoryFixture.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using NHibernate.Proxy; +using NUnit.Framework; + +namespace NHibernate.Test.StaticProxyTest +{ + public class StaticProxyFactoryFixture + { + internal interface ISomething + { + int Id { get; } + } + + public class TestClass : ISomething + { + public virtual int Id { get; set; } + } + + [Test] + public void CanCreateProxyForClassWithInternalInterface() + { + var factory = new StaticProxyFactory(); + factory.PostInstantiate(typeof(TestClass).FullName, typeof(TestClass), new HashSet {typeof(INHibernateProxy)}, null, null, null); + var proxy = factory.GetProxy(1, null); + Assert.That(proxy, Is.Not.Null); + } + } +} diff --git a/src/NHibernate/Proxy/NHibernateProxyBuilder.cs b/src/NHibernate/Proxy/NHibernateProxyBuilder.cs index 8502d950b33..2d7615f65f9 100644 --- a/src/NHibernate/Proxy/NHibernateProxyBuilder.cs +++ b/src/NHibernate/Proxy/NHibernateProxyBuilder.cs @@ -74,6 +74,8 @@ public TypeInfo CreateProxyType(System.Type baseType, IReadOnlyCollection !i.IsVisible); + var typeBuilder = moduleBuilder.DefineType(typeName, typeAttributes, parentType, interfaces.ToArray()); var lazyInitializerField = typeBuilder.DefineField("__lazyInitializer", LazyInitializerType, FieldAttributes.Private);