From 219374d4a7c512c41072d12ae4e8b95bc0b9465c Mon Sep 17 00:00:00 2001 From: Steve Wagner Date: Wed, 5 May 2010 18:31:23 +0200 Subject: [PATCH] Its now possible to load propertys of type enum. --- .../MongoDB/Configuration/Mapping/Model/MemberMapBase.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/MongoDB/Configuration/Mapping/Model/MemberMapBase.cs b/source/MongoDB/Configuration/Mapping/Model/MemberMapBase.cs index 733bf507..53e3817c 100644 --- a/source/MongoDB/Configuration/Mapping/Model/MemberMapBase.cs +++ b/source/MongoDB/Configuration/Mapping/Model/MemberMapBase.cs @@ -20,6 +20,9 @@ public class MemberMapBase /// The setter. protected MemberMapBase(string memberName, Type memberReturnType, Func getter, Action setter) { + if(memberReturnType == null) + throw new ArgumentNullException("memberReturnType"); + _getter = getter; _memberName = memberName; _memberReturnType = memberReturnType; @@ -68,7 +71,9 @@ public virtual void SetValue(object instance, object value) { var code = Convert.GetTypeCode(value); - if(code != TypeCode.Object) + if(_memberReturnType.IsEnum) + value = Enum.ToObject(_memberReturnType, value); + else if(code != TypeCode.Object) value = Convert.ChangeType(value, _memberReturnType); } catch(FormatException exception)