コード例 #1
0
        private void Add(ValueMember member)
        {
            int opaqueToken = 0;

            try
            {
                _model.TakeLock(ref opaqueToken);
                ThrowIfFrozen();

                if (!IsFieldFree(member.FieldNumber) && !Helpers.IsEnum(Type))
                {
                    throw new ArgumentException(string.Format("FieldNumber {0} for {1} was already taken", member.FieldNumber, member), nameof(member));
                }
                _fields.Add(member);
                member.FinalizingSettings += (s, a) => FinalizingMemberSettings?.Invoke(this, a);
            }
            finally
            {
                _model.ReleaseLock(opaqueToken);
            }
        }
コード例 #2
0
ファイル: MetaType.cs プロジェクト: Robin--/AqlaSerializer
 void AddTupleField(ValueMember vm)
 {
     vm.FinalizingSettings += (s, a) => FinalizingMemberSettings?.Invoke(this, a);
     _tupleFields.Add(vm);
 }