System.Runtime.Serialization.ObjectRecord.SetMemberValue C# (CSharp) Method

SetMemberValue() public method

public SetMemberValue ( ObjectManager manager, MemberInfo member, object value ) : void
manager ObjectManager
member MemberInfo
value object
return void
        public void SetMemberValue(ObjectManager manager, MemberInfo member, object value)
        {
            if (member is FieldInfo)
                ((FieldInfo)member).SetValue(ObjectInstance, value);
            else if (member is PropertyInfo)
                ((PropertyInfo)member).SetValue(ObjectInstance, value, null);
            else throw new SerializationException("Cannot perform fixup");

            if (Member != null) {
                ObjectRecord containerRecord = manager.GetObjectRecord(IdOfContainingObj);
                if (containerRecord.IsRegistered)
                    containerRecord.SetMemberValue(manager, Member, ObjectInstance);
            } else if (ArrayIndex != null) {
                ObjectRecord containerRecord = manager.GetObjectRecord(IdOfContainingObj);
                if (containerRecord.IsRegistered)
                    containerRecord.SetArrayValue(manager, ObjectInstance, ArrayIndex);
            }
        }

Same methods

ObjectRecord::SetMemberValue ( ObjectManager manager, string memberName, object value ) : void

Usage Example

コード例 #1
0
ファイル: ObjectManager.cs プロジェクト: zgramana/mono
        public void SetMemberValue(ObjectManager manager, MemberInfo member, object value)
        {
            if (member is FieldInfo)
            {
                ((FieldInfo)member).SetValue(ObjectInstance, value);
            }
            else if (member is PropertyInfo)
            {
                ((PropertyInfo)member).SetValue(ObjectInstance, value, null);
            }
            else
            {
                throw new SerializationException("Cannot perform fixup");
            }

            if (Member != null)
            {
                ObjectRecord containerRecord = manager.GetObjectRecord(IdOfContainingObj);
                if (containerRecord.IsRegistered)
                {
                    containerRecord.SetMemberValue(manager, Member, ObjectInstance);
                }
            }
            else if (ArrayIndex != null)
            {
                ObjectRecord containerRecord = manager.GetObjectRecord(IdOfContainingObj);
                if (containerRecord.IsRegistered)
                {
                    containerRecord.SetArrayValue(manager, ObjectInstance, ArrayIndex);
                }
            }
        }
All Usage Examples Of System.Runtime.Serialization.ObjectRecord::SetMemberValue