Skip to content

Commit

Permalink
fix serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
IXLLEGACYIXL committed Sep 29, 2023
1 parent da514b6 commit 17814cb
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public FieldDescriptor(ITypeDescriptor typeDescriptor, FieldInfo fieldInfo, Stri

public override bool IsPublic => FieldInfo.IsPublic;

public override bool HasSet => true;
public override bool HasSet => !FieldInfo.IsInitOnly;

public override object Get(object thisObject)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,14 +265,12 @@ protected virtual bool PrepareMember(MemberDescriptorBase member, MemberInfo met
if (memberAttribute != null)
{
((IMemberDescriptor)member).Mask = memberAttribute.Mask;
member.Mode = memberAttribute.Mode;
if (!member.HasSet)
{
if (memberAttribute.Mode == DataMemberMode.Assign ||
(memberType.IsValueType && member.Mode == DataMemberMode.Content))
throw new ArgumentException($"{memberType.FullName} {member.OriginalName} is not writeable by {memberAttribute.Mode.ToString()}.");
if (memberAttribute.Mode == DataMemberMode.Assign || memberType.IsValueType || memberType == typeof(string))
member.Mode = DataMemberMode.Never;
}

member.Mode = memberAttribute.Mode;
member.Order = memberAttribute.Order;
}

Expand Down

0 comments on commit 17814cb

Please sign in to comment.