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))); }
public static IGeneratorDef Foreign <TEntity>(Expression <Func <TEntity, object> > property) { return(new ForeignGeneratorDef(TypeExtensions.DecodeMemberAccessExpression(property))); }