public void GenericDecodeMemberAccessExpressionShouldReturnMemberOfDeclaringClass()
        {
            var mi1 = TypeExtensions.DecodeMemberAccessExpression <MyClass, string>(mc => mc.BaseProperty);

            Assert.That(mi1.DeclaringType, Is.EqualTo(typeof(MyBaseClass)));
            Assert.That(mi1.ReflectedType, Is.EqualTo(typeof(MyBaseClass)));

            var mi2 = TypeExtensions.DecodeMemberAccessExpression <MyClass, bool>(mc => mc.BaseBool);

            Assert.That(mi2.DeclaringType, Is.EqualTo(typeof(MyBaseClass)));
            Assert.That(mi2.ReflectedType, Is.EqualTo(typeof(MyBaseClass)));
        }
Beispiel #2
0
 public static IGeneratorDef Foreign <TEntity>(Expression <Func <TEntity, object> > property)
 {
     return(new ForeignGeneratorDef(TypeExtensions.DecodeMemberAccessExpression(property)));
 }